Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Złączenie wiele do wiele i wyciąganie danych
Forum PHP.pl > Forum > Bazy danych > MySQL
zaajcu
Cześć mam problem z zapytaniem. Mamy takie tabele:

  1. Osoby
  2. id | nazwa
  3. ----------------
  4. 1 | Tomek
  5. 2 | Michał
  6. 3 | Paweł
  7.  
  8. Oddziały
  9.  
  10. id | nazwa
  11. ------------------
  12. 1 | Kraków
  13. 2 | Warszawa
  14. 3 | Wrocław
  15.  
  16. i złączenie tych tabel
  17. oddzialy_osoby
  18.  
  19. id_osoby | id_oddzialu
  20. 1 | 1
  21. 2 | 1
  22. 3 | 3
  23. 3 | 2
  24. 1 | 3
  25. 2 | 3
  26.  


i teraz potrzebuje wyciągnąć id oddziału gdzie znajdują się osoby o id 1 i 2 w tym przypadku będą to oddziały 1,3 bo obydwie osoby są tam przypisane
dla osób 1 i 3 będą to oddziały 1,3
a dla osób 2 i 3 tylko oddział 3

Jak można to zrobić bo nic mi nie przychodzi do głowy?
mmmmmmm
  1. SELECT id_oddzialu FROM oddzialy_osoby GROUP BY id_oddzialu HAVING Count(case when id_osoby IN (1,2) then id_osoby end)>=2
wiiir
zrob przy pomocy intersect
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.