如何在 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;