【发布时间】:2013-12-29 06:33:22
【问题描述】:
我正在尝试合并两行(重复)
1) 第 1 行为空,第 2 行为值(或 Vice-a-Versa) 2) 两行都为空。
我需要将这两行合并以生成 1 行,其中该列的值(如果任一行中存在)或空值。
例如。
需要转换为
我已经为相同的数据设置了SQL Fiddle here。如果您需要更多信息,请告诉我。
到目前为止,我已经尝试过使用 Full Outer Join(它不适用于这么多包含 null 和内容的列)和 Pivot(我不确定它是否适合这个问题)。
SELECT A.EmployeeID, A.PostEditDate,
A.In1
, A.Out2, A.In3, A.Out4, A.Out5, A.Out6, A.Out7, A.Out8, A.Out9, A.Out10 FROM #TempTableRV A
full outer JOIN #TempTableRV B
On A.EmployeeID = B.EmployeeID AND A.PostEditDate = B.PostEditDate
where
A.PostEditDate = '2007-06-19 00:00:00.000'
AND
A.EmployeeID = 25690 and A.In1 IS NULL AND B.In1 IS NULL
【问题讨论】:
-
同一列中的两行是否有不同的值?如果不只是使用 group by。
标签: sql-server-2008 tsql row