我有一个表,其中每列的数据分布在不同的行中。需要帮助将所有数据放入一行。
A 栏 | B 栏 | C 栏 | D 栏 | E 栏 |
---|---|---|---|---|
雅各布 | 约瑟夫 | 本 | 空 | 空 |
雅各布 | 约瑟夫 | 空 | 空 | 鲁本 |
雅各布 | 约瑟夫 | 空 | 犹大 | 空 |
我想将所有数据填充在一行中,如下所示:
A 栏 | B 栏 | C 栏 | D 栏 | E 栏 |
---|---|---|---|---|
雅各布 | 约瑟夫 | 本 | 犹大 | 鲁本 |
我是 T-SQL 新手,无法到达我想要的位置。请帮忙。
我最初有一个 Excel 工作表,其中的数据以一种奇怪的方式分散在各列中。经过多次重新格式化后,我将其导入到 SQL Server 中,通过 T-SQL 修复它。我尝试了一些从表中插入到表中的操作,但无法将数据排列在一行中。
可以使用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