如何在 SQL (Snowflake) 中连接不同行中的两个字符串?
How to concatenate two strings in different rows in SQL (Snowflake)?
所以我在Snowflake中有如下数据:
Question Answer ID
First name? John 001
Last name? Smith 001
First name? Avon 002
Last name? Barksdale 002
First name? Stringer 003
Last name? Bell 003
下面有没有CONCATENATE
这些?
ID Full_Name
001 John Smith
002 Avon Barksdale
003 Stringer Bell
您可以使用条件聚合:
select id,
concat_ws(' ',
(case when question = 'First name?' then answer end),
(case when question = 'Last name?' then answer end)
) as fullname
from t
group by id
您可以为此使用 listagg
:
SELECT listagg(answer,' ') WITHIN GROUP (ORDER BY question)
FROM x
GROUP BY id;
所以我在Snowflake中有如下数据:
Question Answer ID
First name? John 001
Last name? Smith 001
First name? Avon 002
Last name? Barksdale 002
First name? Stringer 003
Last name? Bell 003
下面有没有CONCATENATE
这些?
ID Full_Name
001 John Smith
002 Avon Barksdale
003 Stringer Bell
您可以使用条件聚合:
select id,
concat_ws(' ',
(case when question = 'First name?' then answer end),
(case when question = 'Last name?' then answer end)
) as fullname
from t
group by id
您可以为此使用 listagg
:
SELECT listagg(answer,' ') WITHIN GROUP (ORDER BY question)
FROM x
GROUP BY id;