![]() |
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:25 |