如何组合表中的多个列并在SQL中创建单独的列
如何组合表中的多个列,在SQL中创建单独的列,并在数据之间插入单个管道“|”,即使某些列的字段为空 我尝试过使用concat,但如果有空字段,就会得到多个管道如何组合表中的多个列并在SQL中创建单独的列,sql,sql-server,string-aggregation,Sql,Sql Server,String Aggregation,如何组合表中的多个列,在SQL中创建单独的列,并在数据之间插入单个管道“|”,即使某些列的字段为空 我尝试过使用concat,但如果有空字段,就会得到多个管道 select top 4 concat(code2_1,'|',code2_2,'|',Code2_3,'|',code2_4) from Sourcesql 上面是一张桌子 例如第四排我需要PT01 | PT02 | PT04 我没有得到答案,即使我发现像下面的查询,那么我上面的查询怎么可能是重复的 SELECT
select top 4 concat(code2_1,'|',code2_2,'|',Code2_3,'|',code2_4) from
Sourcesql
上面是一张桌子
例如第四排我需要PT01 | PT02 | PT04
我没有得到答案,即使我发现像下面的查询,那么我上面的查询怎么可能是重复的
SELECT
STUFF(
COALESCE('|' + code2_1, '') +COALESCE('|' +code2_2, '') +COALESCE('|'+
code2_3, '') +COALESCE('|'+ code2_4, ''),
1, 0, '') AS bar
FROM Sourcesql
您正在使用哪个数据库?MS SQL。。自己的工作数据库我认为重复链接中投票率最高的答案正好涵盖了您的问题。我同意您的说法,但如果使用旧版本sql then concat_ws的人不起作用,请给我兼容的答案检查重复链接中投票率最高的答案。如果我回答的话,我只是在解释它。