Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] złożone zapytanie
Forum PHP.pl > Forum > Przedszkole
agataperz
Witam,

mam problem z zbudowaniem złożonego zapytania
Czy możecie mi jakoś pomóc?

z tego co udało mi się skonstruować to:
  1. SELECT max( data_godz ) , sum( ilosc ) , STATUS , forma FROM ehi_spis_rozbicie INNER JOIN ehi_spis USING ( id ) INNER JOIN ehi_statusy USING ( id ) WHERE id = '193'


Niestety tabela pobiera mi status nie z max(data_godz) tylko pierwszy z brzegu z id=193

Jak to skojarzyć?
IceManSpy
Bo w zapytanie masz "WHERE id = '193'" więc pobiera z ID 193.
agataperz
tylko w tabeli ehi_statusy z tym id mam chyba z 5 pozycji a ja chce wyciagnac konkretny status z max(data_godz) + dodatkowe dane z pozostałych tabel gdzie id jest tylko 1 rekord
IceManSpy
A to max(data_godz) nie powinno być w where, jeśli chcesz wyciągnąć max z data_godz ?
agataperz
tak tez myslalam azeby zrobic ale niestety sql nie akceptuje funkcji max w where.
Probowalam juz to zrobic w pojedynczym zapytania ale zwrocil mi komunikat: #1111 - Invalid use of group function

uff pogrzebałam w internecie i wpadlam na inny pomysl wyjscia z tej sytuacji
  1. SELECT max( data_godz ) , sum( ilosc ) , STATUS , forma FROM ehi_spis_rozbicie INNER JOIN ehi_spis USING ( id ) INNER JOIN ehi_statusy USING ( id ) WHERE id = '193' AND data_godz=(SELECT max(data_godz) FROM ehi_statusy WHERE id='193')


i działa.
Dzięki za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.