theguruMedlem sedan juli 2000412 inlägg
Kan nån hjälpa mig?
Jag försöker att i en select sats efter where gör ett vilkor med hjälp av.
Jag vet inte exaxt hur man skriver men jag tänkte mig nåt åt det här hållet.
SELECT CASE @statusid = 10
AND S.StatusId <> 10
för att sedan fortsätta med where satsen.
Jag ser fram emot att se hur jag ska skriva :)
LarsGMedlem sedan dec. 200012 465 inlägg
Jag förstår inte alls vad du vill åstadkomma.
case kan man använda så här t.ex.
select case when @statusid <= 10 then 'Green'
when @statusid <= 20 then
'blue'
else 'Magenta' end from ogrish
Kan du förklara lite mer?
------------------
essentitia preter non sans multiplicandum
theguruMedlem sedan juli 2000412 inlägg
WHERE
A.qqqq = ACS.qqqq
AND S.StatusId = ACS.StatusId
SELECT CASEwhen @statusid <> 10 then AND S.StatusId <> 10
AND A.OwnerId = O.OwnerId
Jag vill alltså lägga till argumentet
AND S.StatusId <> 10
om statusid <> 10
LarsGMedlem sedan dec. 200012 465 inlägg
WHERE
A.qqqq = ACS.qqqq
AND S.StatusId = ACS.StatusId
AND (( S.StatusId <> 10
and @Statusid <> 10)
or @statusid = 10)
------------------
essentitia preter non sans multiplicandum
theguruMedlem sedan juli 2000412 inlägg
Detta funkar inte riktigt.
Jag vill enbart ha med
@statusid = 10 när det inträffar
annars vill jag utesluta detta ur
where satsen
LarsGMedlem sedan dec. 200012 465 inlägg
Vad menar du med att det inte fungerar?
Du kan inte använda case på det sättet som du har tänkt dig. case evalueras när frågan exekveras och inte när den kompileras.
Om du vill ha olika frågor så kan du skriva
if @statusID <> 10
select ... where ... and statusID <> 10
else
select ...where ...
------------------
essentitia preter non sans multiplicandum
theguruMedlem sedan juli 2000412 inlägg
Det har löst sig tack för hjälpen.
spangoMedlem sedan juni 20006 147 inlägg
Av ren nyfikenhet, borde man inte kunna säga
SELECT foo FROM bar WHERE (@statusId = 10 OR statusId <> 10)
:q
------------------
You can be a coward for a few minutes, or dead forever. /Rincewind
LarsGMedlem sedan dec. 200012 465 inlägg
Kanske det går i detta fall. Det blir dock skillnad om @statusid är null
------------------
essentitia preter non sans multiplicandum