Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL] Zapytanie
djbarca
post 4.02.2012, 12:45:11
Post #1





Grupa: Zarejestrowani
Postów: 231
Pomógł: 1
Dołączył: 22.04.2007
Skąd: Rypin

Ostrzeżenie: (0%)
-----


witam. potrzebuje waszej pomocy. mam 2 tabele przykladowo

TabelaA
id
marka_auta


TabelaB
id
id_tabeliA
model_auta
dostępność

przykladowo. wrzucam

do tabeliA

1, opel
2, VW

do tabeliB

1, 1, corsa, dostępny
2, 1, insignia, zajęty

i teraz chce zliczyć wszystkie marki aut(tabela A) pod warunkiem ze z (tabeliB) wszystkie modele tego auta są dostępne czyli jeśli mam markę opel. w niej np 2 dostępne modele to jeśli wszystkie są dostępne to zliczenie kategorii opla traktowane jest jako 1. a jeśli jakiś model tego auta niedostępny wtedy cala marka jest 0(do sumowania). trochę to bez sensu ale tak będzie prościej to przedstawić chyba wink.gif

albo bardziej obrazkowo wink.gif "Mamy halę w której znajdują się skrzynie z jabłkami na sprzedaż . Jeśli chociaż jedno jabłko w danej skrzyni jest zepsute to cała skrzynia jest do wyrzucenia. Policz ilość skrzyń które uda się sprzedać"

Ten post edytował djbarca 4.02.2012, 12:58:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
viking
post 4.02.2012, 14:47:12
Post #2





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Jakoś tak:
  1. SELECT DISTINCT ON(marka_auta) *
  2. FROM (SELECT
  3. CASE WHEN a.dostepnosc > '0' THEN 'jest'
  4. else 'brak'
  5. end test, m.marka_auta
  6. FROM dane.marki m LEFT JOIN dane.auta a ON m.id=a.id_marki GROUP BY test, m.marka_auta) s


Składnia postgresql, nie pamiętam czy case się tak pisało w mysql.

Ten post edytował viking 4.02.2012, 14:47:24


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 08:45