2017-07-31 40 views
-2

如何将具有相同ID号的多个行合并到SQL Server中的单个行中?合并MS SQL Server中的行

See image of the table before and after

+0

你问什么没有引起太大的意义。天真地说,我会说你可以通过身份证和事件进行分组,但事实并非如此。 YOu可以做ID和事件,但是你想从那个ID的其他日子得到什么价值?另外,为什么CR1在结果集中不包含数据? – Xedni

回答

-3

您需要使用GROUP BY声明。

在你的情况,SELECT * FROM table GROUP BY ID

+0

我收到此错误“Column'table.Event'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。” – Dann3s

+1

尝试添加'Event'到你的群组。另外,你不能'选择*'。你必须指定你想要的列和任何聚合 – Xedni

1

你的确需要使用GROUP BY

SELECT ID, Event = MAX(Event), Location = MAX(Location), 
      Cr = MAX(Cr), Cr0 = MAX(CR0), .. . 
FROM your_table 
GROUP BY ID 
+0

它的工作原理,谢谢 – Dann3s