top nd
1 0
0 1
0 1
1 0
我有一个表tbl_data,其结构如上。如果top为“ 1”,则必须显示“ T”,如果id为“ 1”,则必须显示“ N”。
严重的是,我不知道如何编写查询以比较上述结果。 我尝试使用select(当top ='1'的情况下),但我迷路了。
有人可以帮助我吗?
答案 0 :(得分:3)
您可以仅使用CASE
表达式来获得所需的结果。由于我们先检查top = 1
,所以如果同时检查top = 1
和nd = 1
,则将得到T
的期望结果:
SELECT top, nd,
CASE WHEN top = 1 THEN 'T'
WHEN nd = 1 THEN 'N'
END AS topnd
FROM table1
输出:
top nd topnd
1 0 T
0 1 N
0 1 N
1 1 T
答案 1 :(得分:1)
我不知道你为什么迷路。可以通过简单的案例陈述来完成。
SELECT top, nd,
CASE WHEN top = 1 THEN 'T'
WHEN nd = 1 THEN 'N'
END AS topnd
FROM TableName