Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zagnieżdżony SELECT w mysql?
Forum PHP.pl > Forum > Przedszkole
gelo_26
Witam

Chciałbym się dowiedzieć jak zapisać zagnieżdżonego selecta w mysql
mam cos takiego

select * from magazyn where FKid_podgrupy in (select id_podgrupy from podgrupa_elementow where FKid_grupy=1);

i nic nie idzie jeśli zamiast drugiego selecta zrobie .....in (1,2) gdzie (1,2) - to wynik tego selecta wewnatrz to śmiga.

Może ktoś wie jak zapisać inaczej tego selecta.

z góry dzięki za komentarze
bigZbig
To się nazywa podzapytania albo zpytania zagniezdzone

W wersjach 4.x i niższych MySQL obsługuje podzapytania tylko w instrukcjach INSERT ... SELECT ... oraz REPLACE ... SELECT ....
Podzapytania pojawily sie w wersji 4.1.

  1. SELECT nazwa
  2. FROM towary
  3. WHERE ID NOT IN (SELECT DISTINCT ID_towaru
  4. FROM zamowienia);

W starszych wersjach serwera w takich przypadkach należało np. użyć złączeń:

  1. SELECT towary.nazwa
  2. FROM towary
  3. LEFT OUTER JOIN zamowienia ON towary.ID=zamowienia.ID_towaru
  4. WHERE zamowienia.ID_towaru IS NULL;


albo

  1. SELECT towary.nazwa
  2. FROM towary,
  3. zamowienia WHERE towary.ID_towaru = zamowienia.ID_towaru;


W wersji 5.0 dostepna jest juz skladnia zgodna ze standardem SQL-99
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.