Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyciąganie danych z tabeli o różnych id
Forum PHP.pl > Forum > Bazy danych > MySQL
kisiel
Witam,
Mam taki problem.

Są 3 tabele.
Pierwsza to tabela z userami

  1. ID_user | username | mail | adres
  2. ---------------------------------------------------------
  3. 5 | stefan | stefan@ | marszałkowska
  4. 6 | adam | adam@ | politechniki


typowa tabela.

Druga tabela zawiera pewien spis umiejętności użytkowników:

  1. ID_zdolnosc | nazwa_zdolnosci
  2. --------------------------------------
  3. 1 | pływanie
  4. 2 | jazda samochodem
  5. 3 | taniec

Trzecia tabela zawiera spis zdolności dla danego użytkownika, relacja jeden do wielu.

  1. ID | ID_user | ID_zdolnosc
  2. ---------------------------------
  3. 1 | 5 | 1
  4. 2 | 5 | 3
  5. 3 | 6 | 1


Czyli jeden user może mieć przypisane kilka zdolności.
Teraz mój problem:
Chce zrobić filtr w którym po określeniu kryteriów zostaną wyświetlone odpowiednie rekordy.

Mam formularz w którym jest: [x] pływanie [ ] jazda samochodem [x] taniec

W formularzu zaznaczam pływanie i taniec, teraz chce aby pojawili się userzy którzy mają w swym profilu zaznaczone umiejętności pływanie oraz taniec. Czyli z powyższych rekordów wynika, że wyświetli się tylko jeden user o id=5

Tylko jak skonstruować zapytanie?
kris2
  1. SELECT ID_user,username FROM users u WHERE (SELECT count(*) FROM spis s WHERE (s.ID_zdolnosc=1 OR s.ID_zdolnosc=2) AND s.ID_user=u.ID_user)=2
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.