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

sbtkgmzw  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(400)
top nd
1   0
0   1
0   1
1   0

我有一个表tblèu数据与结构如上所述。如果top是“1”,那么我必须显示“t”,如果nd id是“1”,那么我必须显示“n”。
说真的,我不知道如何写查询来比较上面的结果。我尝试使用select(case when top='1'),但是我迷路了。
有人能帮我吗?

1qczuiv0

1qczuiv01#

你可以用一个 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

在dbfiddle上演示

ldioqlga

ldioqlga2#

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

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

相关问题