T-SQL 合并不同列下不同行的数据

问题描述 投票:0回答:1

我有一个表,其中每列的数据分布在不同的行中。需要帮助将所有数据放入一行。

A 栏 B 栏 C 栏 D 栏 E 栏
雅各布 约瑟夫
雅各布 约瑟夫 鲁本
雅各布 约瑟夫 犹大

我想将所有数据填充在一行中,如下所示:

A 栏 B 栏 C 栏 D 栏 E 栏
雅各布 约瑟夫 犹大 鲁本

我是 T-SQL 新手,无法到达我想要的位置。请帮忙。

我最初有一个 Excel 工作表,其中的数据以一种奇怪的方式分散在各列中。经过多次重新格式化后,我将其导入到 SQL Server 中,通过 T-SQL 修复它。我尝试了一些从表中插入到表中的操作,但无法将数据排列在一行中。

sql-server t-sql insert case group
1个回答
1
投票

可以使用aggregate和GROUP BY来解决这个问题

SELECT 
    ColumnA,
    ColumnB,
    MAX(ColumnC) AS ColumnC,
    MAX(ColumnD) AS ColumnD,
    MAX(ColumnE) AS ColumnE
FROM 
    YourTable
GROUP BY 
    ColumnA, ColumnB;

这是示例dbfiddle

© www.soinside.com 2019 - 2024. All rights reserved.