Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Powiazane tabele - problem z zapytaniem
Forum PHP.pl > Forum > Bazy danych
Ardo
Zacznę od razu od problemu jaki mam z zapytaniem.


jest tabela Wynik:
id | katA | katB | katC
np:
1 | 2 | 5 | 3


i tabla Kategoria:
katId | katName
np:
1 | domek
2 | blok
3 | działka
4 | drzewko
5 | auto

gdzie :
katA = katId jakies z kategorii
katB = katId jakies z kategorii
katC = katId jakies z kategorii

to moje zapytanie, oczywiscie błędne.


  1. SELECT a.*, b.*
  2. FROM wynik AS a, kategoria AS b
  3. WHERE a.katA = b.katId AND a.katB = b.katId AND a.katC = b.katId




i tu jest problem, nie mogę wyciagnac wyniku czyli dla tego przykladu katA =blok katB=auto katC=działka
jak musze napisać zapytanie by wyciągnąć "katName" dla każdej kategorii

mam nadzieje że udało mi się jakoś objaśnić problem

będę wdzięczny za pomysł, nakierowanie
Damonsson
  1. SELECT id, katName FROM Wynik
  2. JOIN Kategoria ON KatA=KatId


itd.
Ardo
dziki nakierowałeś mnie na odpowiedni tor ale mam pytanie:

czy da sie te zapytanie zapisać w prostszej postaci

  1. SELECT * FROM users
  2. INNER JOIN ( SELECT * FROM kategoria ) AS kat1 ON (users.userKategoria = kat1.katId)
  3. INNER JOIN ( SELECT * FROM kategoria ) AS kat2 ON (users.userKategoriaB = kat2.katId)
  4. INNER JOIN ( SELECT * FROM kategoria ) AS kat3 ON (users.userKategoriaC = kat3.katId)
  5. INNER JOIN ( SELECT * FROM state ) AS stat ON (users.userState = stat.stateId)
  6. INNER JOIN ( SELECT * FROM powiat ) AS pow ON (users.userPowiat = pow.id )
mmmmmmm
  1. SELECT * FROM users u
  2. INNER JOIN kategoria AS k1 ON (u.userKategoria = k1.katId)
  3. INNER JOIN kategoria AS k2 ON (u.userKategoriaB = k2.katId)
  4. INNER JOIN kategoria AS k3 ON (u.userKategoriaC = k3.katId)
  5. INNER JOIN state AS s ON (u.userState = s.stateId)
  6. INNER JOIN powiat AS p ON (u.userPowiat = p.id )
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.