Piotr
Oleszczuk
właściciel, ARRIGO
Systemy
Informatyczne
Temat: pomoc w optymalizacji zapytania MSSQL
witamMam zapytanie które JOIN-ami kilkakrotnie przyłącza tą samą tabele. Wynika to z konstrukcji danych które są przechowywane w kilku rekordach tej samej tabeli - i te dane muszę uzyskać w jednym rekordzie. Dodam, że nie mogę zmienić danych źródłowych, muszą być w tej formie. Baza danych to MSSQL Express 2008
Przedstawię to w uproszczonej wersji:
Mam 2 tabele
tabela_glowna (id, nazwa)
tabela_zmienne (id, id_obiektu,id_zmiennej,wartosc)
Moje zapytanie mniej więcej:
SELECT g.nazwa, z1.wartosc, z2.wartosc, .... , zN.wartosc
FROM tabela_glowna g
LEFT JOIN tabela_zmienne z1 ON (g.id=z1.id_obiektu AND id_zmiennej=1)
LEFT JOIN tabela_zmienne z2 ON (g.id=z2.id_obiektu AND id_zmiennej=2)
...
LEFT JOIN tabela_zmienne zN ON (g.id=zN.id_obiektu AND id_zmiennej=N)
Nie działa to zbyt wydajnie, szczególnie jak wzrośnie ilość zmiennych.
Jeśli jest jakaś metoda, która rozwiązała by mój problem byłbym wdzięczny za wskazówki.