我正在尝试合并两行(重复),其中任一
1) 第一行为空,第二行为值(反之亦然) 2) 两行均为空。
我需要将这两行合并起来生成 1 行,其中该列有值(如果任一行中存在)或为 null。
例如。
需要转换为
我已经设置了SQL Fiddle here对于相同的数据。如果您需要更多信息,请告诉我。
到目前为止,我已经尝试使用完全外连接(它不适用于这么多具有空值和内容的列)和枢轴(我不确定它是否适合这个问题)。
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
最佳答案
SELECT EmployeeID, MAX(PostEditDate) AS PostEditDate, MAX(In1) AS In1, MAX(Out2) AS Out2, MAX(In3) AS In3, MAX(Out4) AS Out4, MAX(Out5) AS Out5, MAX(Out6) AS Out6, MAX(Out7) AS Out7, MAX(Out8) AS Out8, MAX(Out9) AS Out9, MAX(Out10) AS Out10 FROM #TempTableRV GROUP BY EmployeeID
关于sql-server-2008 - 合并两行,其中 1 列有值,另一列为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20822771/