mysql将两列合并为一列,其中一列具有空值(应该删除)

8tntrjer  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(507)

我很抱歉,如果这是一个重复,但当我使用解决方案,如 concat(column1, column2) as column3 然后我得到奇怪的值。
我的数据如下:

Table1.Column1   Table2.Column2
A                NULL
B                NULL
NULL             C
NULL             D
E                NULL

注意:只有一列有空值。
我想要以下内容:

Column3
  A   
  B   
  C
  D
  E

两列中有一列具有空值的属性将保持不变。它只是一个糟糕的表/列设计,因为它本来应该是一个表,而实际上不是。不允许我更改架构,也不允许我插入/更新值。我只能做一个明智的查询,以一种理智的方式检索数据。

ff29svar

ff29svar1#

可以使用if语句。

SELECT IF(Table1.Column1 IS NULL,Table1.Column1,Table2.Column1) as Val 
FROM Table1
...
wqsoz72f

wqsoz72f2#

你可以用 COALESCE 来处理 NULL 价值观:

SELECT CONCAT(COALESCE(Table1.Column1, ''), COALESCE(Table2.Column2, '') AS Column3
FROM ...

相关问题