hej! Varför ha en if-sats?if-satser i T-SQL
Jag håller på att göra en stored procedure som skall ta emot flera inparametrar och sedan returnera data. Beroende på om användaren gjort val eller inte innehåller inparametrarna data eller ej, tex finns en som heter @fornamn om man vill göra en sökning på förnamn.
Mitt problem är att jag måste kunna villkora om WHERE-villkoret skall innehålla något om förnamn eller ej. Har provat med if-sats i SQL-frågan men funkar inte i nuläget, frågan ser ut ungefär så här:
SELECT id, namn, postnr.. o.s.v
WHERE a = b
AND c = d
if LEN(@fornamn) > 0
BEGIN
and id IN (SELECT id FROM Test)
END
Har förenklat den men problemet är alltså att jag vill kunna fortsätta bygga ihop WHERE-villkoret beroende på om vissa parametrar innhåller något eller ej. Hur kan det se ut för att fungera?
mvh
HenrikSv: if-satser i T-SQL
<code>
SELECT id, namn, postnr.. o.s.v
WHERE a = b AND
c = d AND
(@fornamn IS NULL OR id IN (SELECT id FROM Test))
</code>