1)Na poczatku podam tresc zapytania oraz jego efekt
SELECT * FROM dane_2009 WHERE id_param in(8820,8821,8822)
Teraz mam tak ze w pętli pobieram z każdego parametru wartość z danej godziny i wklepuję ją do StringGrida. A z racji że zależy mi na szybkości (parametrów jest dosyć dużo) to można by utworzyć tak zapytanie żeby kolumnami był parametr i kolejne rekordy to wartości z kolejnych godzin, i bezpośrednio wtedy władować to do DBGrida. Kłopot w tym że nie wiem jak efektownie utworzyć takie zapytanie.
Efekt wynikowy ma być taki:
ID_Param1 | ID_Param2 | ID_Param3
val h0 | val h0 | val h0
val h1 | val h1 | val h1
..
val h23 | val h23 | val h23
SELECT * FROM zaleznosci;
Efekt jaki chce uzyskac jest nastepujacy:
Parametrem startowym niech bedzie np 8820. Z niego selectujemy ID_Parametr czyli mamy taka juz sytuacje:
8820 -> 8821 , i teraz chce znow wyselectowac ID_parametr na podstawie poprzedniego wyniku czyli teraz parametr = 8821 => select id_parametr where parametr=8821, i z niego mam dwa wyniki
8821 -> 8822,8823 i z tych dwoch wynikow znowu wyselectowac ID_Parametr...
Siedze nad tym zapytaniem i caly czas nie wychodzi. Chyba ze ma ktos inny pomysl na zapis tych rekordow, ale tak mi sie wydaje ze bedzie najoszczedniej.
na razie probowalem tak :
SELECT ID_Parametr from zaleznosci z where parametr = 8820 and parametr = (select id_parametr
from zaleznosci where parametr = z.id_parametr)