首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合并两列,但只合并唯一的组合

合并两列,但只合并唯一的组合
EN

Stack Overflow用户
提问于 2018-01-23 07:29:39
回答 3查看 37关注 0票数 1

我有两个列,每个列都有来自不同数据表的标识号。

如果两个标识号不同,我想将其合并到一列中,但如果它们相同,则只有一个标识号。

我正在使用SELECT DISTINCT CONCAT(column 1, column 2) AS column 3组合列,但不能过滤出UNIQUE组合。

当我尝试WHERE column 1 <> column 2时,我得到一条错误消息。

有什么建议吗?

EN

回答 3

Stack Overflow用户

发布于 2018-01-23 07:46:35

您可以使用CASE WHEN测试条件:

代码语言:javascript
复制
SELECT DISTINCT CASE WHEN column1 = column2 THEN column1
                     ELSE CONCAT(column1, column2)
                     END AS column3
FROM table1
票数 1
EN

Stack Overflow用户

发布于 2018-01-23 07:31:57

尝试使用IIF或CASE并连接

代码语言:javascript
复制
select
distinct
iif(col1<>col2,concat(col1,col2),col1) [myid]
from mytable

代码语言:javascript
复制
select
distinct
case when col1<>col2 then
     concat(col1,col2)
else col1 end [myid]
from mytable
票数 0
EN

Stack Overflow用户

发布于 2018-01-23 11:56:49

你应该这样做:

代码语言:javascript
复制
SELECT DISTINCT CASE WHEN column1 = column2 THEN column1
                     ELSE column1 + '|' + column2
                     END AS combinedColumn
FROM table1

请考虑以下图表:

代码语言:javascript
复制
column1  column2  column1+column2   column1+'|'+column2
12       34          1234                 12|34
123      4           1234                 123|4
1234     1234        1234                 1234

此外,column1+column2还会丢失一些信息--原始部分是什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48391894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档