Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: tabela wiele do wielu
Forum PHP.pl > Forum > Bazy danych
beauty
mama dwie tabele 1. zespoly 2. miasto bedacych w relacji wiele do wielu w wyniku polaczenie tych dwoch tabel joinem otrzymalem:

zespoly | miasto
________________

A Krakow
D Krakow
A Gdansk
C Wrocław
G Poznan
B Kraków

i teraz chce otrzymac wszystkie zespoly z Krakowa , ktore nie sa z Gdanska , czyli wynikiem powinno byc B oraz D ; jak powinien powinno wygladac zapytanie ; wydaje mi sie ze rozwiazanie jest jakies banalne , ale mam calkowite zacmienie i nie moge z tym ruszyc
eccocce
Mam nadzieję, że rozjaśnię nieco twój umysł smile.gif

1) Potrzebujesz podzapytań.
2) Potrzebujesz NOT EXISTS.
3) Wszystko znajdziesz tutaj i tutaj.
croc
A nie lepiej GROUP BY i HAVING?

P.S. Jeden zespół może być z wielu miast? tongue.gif
eccocce
Cytat(croc @ 13.06.2010, 23:09:36 ) *
A nie lepiej GROUP BY i HAVING?

Może i lepiej, ale jak to zrobić? tongue.gif

Póki co znalazłem chwilę na napisane rozwiązania z NOT EXISTS:
  1. SELECT zespol
  2. FROM `zespoly` AS z
  3. WHERE miasto = 'Krakow'
  4. AND NOT EXISTS
  5. (
  6. SELECT zespol
  7. FROM zespoly
  8. WHERE miasto = 'Gdansk' AND zespol = z.zespol
  9. )
Method
może i zadziała pod warunkiem że tabele Ci nie spuchną
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.