Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Powiazane tabele - problem z zapytaniem, Powiazane tabele- problem z zapytaniem
Ardo
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 16.03.2008

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


  1. SELECT id, katName FROM Wynik
  2. JOIN Kategoria ON KatA=KatId


itd.
Go to the top of the page
+Quote Post
Ardo
post
Post #3





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 16.03.2008

Ostrzeżenie: (0%)
-----


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 )
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #4





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


  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 )
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 23:41