kan man inte använda case i sql utan att blanda in den i en select sats
jag vill köra olika select beroende på en parameter typ:
select @apa
case 1 then select * from table1
case 2 then select * from table1
end
8 svar · 352 visningar · startad av neversleep
kan man inte använda case i sql utan att blanda in den i en select sats
jag vill köra olika select beroende på en parameter typ:
select @apa
case 1 then select * from table1
case 2 then select * from table1
end
i SQL ja.
case variabel
when 1 then
statements;
when 2 then
statements;
end case;
(select är inte ett statement, i detta kontext)
i T-SQL nej.
Du får nöja dig med if.
ok tack
men kan man göra det på annat sätt. vad jag vill är att uppdatera olika fält med ett invärde beroende på en parameter
update table
case
when @apa=1 then field1=1
when @apa=2 then field2=1
end
where id=1
ovan syntax fungerar inte. Är jag ute och seglar eller.
Lyckas med
update table set field=
case @apa=1 then 2 ....
men det är inte det jag vill
update t
set column1 = case
when @apa=1 then 1 else column1 end,
column2 = case
when @apa=2 then 1 else column2 end
where id=1
suveränt. stort tack
natas skrev:
Man kan också använda IF.
Nu blandar du ihop lite. I det länkade inlägget avsågs funktionen if och inte ifsatser. Ifsatser finns i standarden men har en lite annorlunda syntax än i SQL server. Om man vill följa standard och använda SQL server så går det inte att använda procedurer över huvud taget.
Ja, givetvis :r Ber om ursäkt.