如何比较表格的两列并显示第三个输出?

时间:2018-12-07 04:05:20

标签: mysql sql

top nd
1   0
0   1
0   1
1   0

我有一个表tbl_data,其结构如上。如果top为“ 1”,则必须显示“ T”,如果id为“ 1”,则必须显示“ N”。

严重的是,我不知道如何编写查询以比较上述结果。 我尝试使用select(当top ='1'的情况下),但我迷路了。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

您可以仅使用CASE表达式来获得所需的结果。由于我们先检查top = 1,所以如果同时检查top = 1nd = 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

Demo on dbfiddle

答案 1 :(得分:1)

我不知道你为什么迷路。可以通过简单的案例陈述来完成。

SELECT top, nd, 
       CASE WHEN top = 1 THEN 'T' 
            WHEN nd = 1 THEN 'N'
       END AS topnd
FROM TableName