基于字段值的串联:SQL
Concatenation based on field values : SQL
我下面有一个table
我想创建一个 SQL 查询来创建一个字段,该字段将在我们有值“是”的任何地方连接该字段的名称
输出应该是这样的
James|Denver|Houston|Orlando
Williom|Denver|Houston
Ron|Chicago|Dallas|Austin
Saviz|Chicago|Houston
如何实现
你应该找到一个更好的 table 我会说的设计。但是如果你需要使用完全相同的结构请试试这个,
SELECT
replace(
concat(NAME,'|'
,CASE WHEN Chicago='Yes' then "Chicago" end,'|'
,CASE WHEN Denver='Yes' then "Denver" end,'|'
,CASE WHEN Dallas='Yes' then "Dallas" end,'|'
,CASE WHEN Houston='Yes' then "Houston" end,'|'
,CASE WHEN Austin='Yes' then "Austin" end,'|'
,CASE WHEN Orlando='Yes' then "Orlando" end
),'||','|') as Output
from
yourtable
我下面有一个table
我想创建一个 SQL 查询来创建一个字段,该字段将在我们有值“是”的任何地方连接该字段的名称
输出应该是这样的
James|Denver|Houston|Orlando
Williom|Denver|Houston
Ron|Chicago|Dallas|Austin
Saviz|Chicago|Houston
如何实现
你应该找到一个更好的 table 我会说的设计。但是如果你需要使用完全相同的结构请试试这个,
SELECT
replace(
concat(NAME,'|'
,CASE WHEN Chicago='Yes' then "Chicago" end,'|'
,CASE WHEN Denver='Yes' then "Denver" end,'|'
,CASE WHEN Dallas='Yes' then "Dallas" end,'|'
,CASE WHEN Houston='Yes' then "Houston" end,'|'
,CASE WHEN Austin='Yes' then "Austin" end,'|'
,CASE WHEN Orlando='Yes' then "Orlando" end
),'||','|') as Output
from
yourtable