首页 新闻 会员 周边

SQL语句问题

0
悬赏园豆:10 [已关闭问题] 关闭于 2013-09-11 08:50

有如下表:

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
问题补充:

用一句SQl搞定。

无名の辈的主页 无名の辈 | 初学一级 | 园豆:154
提问于:2013-07-05 10:10
< >
分享
所有回答(4)
0

case when a = 1 then

bb

when q = 2 then

cc

end

wanglgkaka | 园豆:218 (菜鸟二级) | 2013-07-05 10:16

刚刚 我把问题有修改了一下 要是这样呢,  而且 你的aa呢。。

支持(0) 反对(0) 无名の辈 | 园豆:154 (初学一级) | 2013-07-05 10:22

@Mr_Red: select aa,

case when a = 1 then

bb

when q = 2 then

cc

end

sqlserver 新手吧

支持(0) 反对(0) wanglgkaka | 园豆:218 (菜鸟二级) | 2013-07-05 10:44
0

一句SQL怎搞定呢?  按你所说的a是一个变量, 你要定义, 传值. 然后用case判断查询哪些字段

至少你的a需要declare与set

风浪 | 园豆:2996 (老鸟四级) | 2013-07-05 10:33
0

我是看另外一个大神给我的回复。

select aa,bb,dd from xxx where aa=1

union

select aa,cc,dd from xxx where aa=2

无名の辈 | 园豆:154 (初学一级) | 2013-07-05 10:35
1
SELECT
 aa
, CASE aa WHEN 1 THEN bb ELSE cc END
, dd
FROM xxx
TiestoRay | 园豆:687 (小虾三级) | 2013-07-05 11:27

Good~

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2013-07-05 13:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册