您可以使用 GROUP BY 子句和 STRING_AGG 函数来将多行数据合并为一行。以下是一个示例查询:

SELECT 
    Column1, 
    STRING_AGG(Column2, ',') AS ConcatenatedColumn2
FROM 
    TableA
GROUP BY 
    Column1;

在上面的查询中,您需要将 'TableA' 替换为您的表名,'Column1' 替换为您的第一个列名,'Column2' 替换为您的第二个列名。

这将返回以下结果:

CF1083D9A8DB46D3A6B59683C9BAF444  472937E343CB47A0B06909728388B277,FC8475B5DF2A4E63859D35F8D723913C,BDD0191991B34178992422229EA7AEFB

请注意,STRING_AGG 函数是在 SQL Server 2017 及更高版本中引入的。如果您的 SQL Server 版本较低,您可以考虑使用 FOR XML PATH('') 来实现类似的功能。以下是一个示例查询:

SELECT 
    Column1, 
    STUFF(( 
        SELECT ',' + Column2 
        FROM TableA AS t2 
        WHERE t1.Column1 = t2.Column1 
        FOR XML PATH(''), TYPE
    ).value('.', 'NVARCHAR(MAX)'), 1, 1, '') AS ConcatenatedColumn2
FROM 
    TableA AS t1
GROUP BY 
    Column1;

这将产生与前面相同的结果。

SQL Server:将多行数据合并成一行

原文地址: https://www.cveoy.top/t/topic/peTY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录