有如下表:
aa bb cc dd
1 22 33 44
2 22 33 44
我想实现这样功能:
当a=1时候 select aa,bb, dd from xx
当a=2时候 select aa,cc ,dd from xx
用一句SQl搞定。
case when a = 1 then
bb
when q = 2 then
cc
end
刚刚 我把问题有修改了一下 要是这样呢, 而且 你的aa呢。。
@Mr_Red: select aa,
case when a = 1 then
bb
when q = 2 then
cc
end
sqlserver 新手吧
一句SQL怎搞定呢? 按你所说的a是一个变量, 你要定义, 传值. 然后用case判断查询哪些字段
至少你的a需要declare与set
我是看另外一个大神给我的回复。
select aa,bb,dd from xxx where aa=1
union
select aa,cc,dd from xxx where aa=2
SELECT aa , CASE aa WHEN 1 THEN bb ELSE cc END , dd FROM xxx
Good~