Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL] Zapytanie
djbarca
post
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 (IMG:style_emoticons/default/wink.gif)

albo bardziej obrazkowo (IMG:style_emoticons/default/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
pmir13
post
Post #2





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

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


Trochę za bardzo uprościłeś przykład.
Ale teraz też dość podobnie można to policzyć, spróbuj tak:

  1. SELECT COUNT(*) AS ukonczonych_spotkan FROM
  2. (
  3. SELECT id_spotkania, COUNT(*) AS ukonczonych_meczy
  4. FROM `-klany_mecze`
  5. WHERE gosc = 1 OR gosp = 1
  6. GROUP BY id_spotkania
  7. HAVING MIN(STATUS)=3
  8. ) s
  9. WHERE s.ukonczonych_meczy = 4


W zależności od tego co oznaczają statusy, ile ich jest i czy może być NULL będziesz musiał zmienić linię z HAVING, na przykład jeśli możliwy jest też status=4 albo wyższy to zamiast tego byłoby:
  1. HAVING MIN(STATUS)=3 AND MAX(STATUS)=3
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 27.12.2025 - 10:52