Cześć, normalnie, jeśli chcę zwrócić w procedurze jakieś dane z SELECTA, robię tak:
SELECT @zmienna = pole
FROM tabela
Ale teraz mam do zbudowania dynamicznego selecta.
Tzn. mam 3 zmienne: startDate, stopDate i EID, które tworzą warunek WHERE.
Jeśli wszystkie te zmienne są nullami, zapytanie jest bez warunku:
SELECT @zmienna = pole
from tabela
jeśli startDate i StopDate mają jakieś wartości, muszę to zawrzeć w warunku
SELECT @zmienna = pole
from tabela
where date>=@startDate and date<=@stopDate
jeśli EID ma jakąś wartość, to muszę ją zawrzeć w warunku w analogiczny sposób.
Jeśli wszystkie 3 zmienne będą miały jakąś wartość, to warunek będzie wyglądał tak:
WHERE where date>=@startDate and date<=@stopDate and eid = @eid
Teraz pytanie, jak mogę takiego selecta zbudować dynamicznie w procedurze składowanej?
Owszem, mógłbym napisać 3 ify i dla każdego z nich oddzielnego selecta, ale to się trochę mija z celem :)
Da się to jakoś zrobić?