我有一个表tb3,其中id,name,sal将使用select语句和city显示,descrip字段需要在同一个select语句中仅在标志是'Y'。我如何使用案例陈述来做到这一点?在sql server的select语句中使用case返回多个字段
id name sal city descrip flag
7 john 80000.00 Canada prog y
6 jone 90000.00 NY test y
3 san 70000.00 NY lead y
2 sam 70000.00 Cali sub n
1 sally 60000.00 Canada archi n
4 carl 70000.00 SA plain n
我需要做这样的事情。我知道这是错的,但对于一个样本PLS甲肝看看..
declare @test varchar(1)
select @test=flag from tb3
select id,name,case @test
when 'Y' then select city,descrip from tb3
when 'n' then 'inactive'
end as status from tb3
'VARCHAR(1)'是没有意义的 - 它是0或1个字符,但'var'部分增加了至少2个字节的开销为。任何5个字符或更少的字符串都应该是'char(x)' - 在你的情况下:'char(1)' –