Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z left join
Skyline
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 25.07.2007

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


Witam

Mam 3 tabele, z których chce wyciągnąć dane. Tabela pierwsza zawiera informacje o urządzeniu, tabela druga liste opcji urządzenia, tabela trzecia to przypisanie niektórych opcji do danego urządzenia.

tabela 1 device posiada pola:
iddevice - id urzadzenia
name - nazwa urzadzenia

tabela 2 option_list (lista opcji):
idoption
option_name

tabela 3 device_options (przypisanie opcji do urzadzenia)
iddevice_options
iddevice - id urzadzenia
idoption - id opcji
highlight - (przyjmuje wartosc 1 jesli opcja jest wyrozniona, 0 jesli nie jest)

Z tych 3 tabel chcialbym uzyskac dla konkretnego urzadzenia liste wszystkich opcji z tabeli option_list , a w kolumnie obok pole przyjmujace wartosc 1 jesli opcja jest przypisana do urzadzenia a wartosc 0 jesli nie jest.

Problem polega na tym ze jesli zrobie warunek WHERE iddevice = 'jakas liczba' to pobiera tylko opcje przypisane do urzadzenia a ma pobrac liste wszystkich opcji. :/

Czy ktos wie jak rozwiazac ten problem?

Rozwiązanie problemu okazało się banalne, zamiast robic warunek WHERE iddevice = 'x' wystarczy dac AND w klauzli left join:

"LEFT JOIN device ON device.iddevice = device_options.iddevice AND device.iddevice = 'x'"

Temat można zamknąć.

Ten post edytował Skyline 10.07.2009, 19:45:27
Go to the top of the page
+Quote Post

Posty w temacie
- Skyline   Problem z left join   10.07.2009, 19:40:08


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

 



RSS Aktualny czas: 21.08.2025 - 18:25