sql-server-2008 - 合并两行,其中 1 列有值,另一列为空

标签 sql-server-2008 t-sql row

我正在尝试合并两行(重复),其中任一

1) 第一行为空,第二行为值(反之亦然) 2) 两行均为空。

我需要将这两行合并起来生成 1 行,其中该列有值(如果任一行中存在)或为 null。

例如。

issue

需要转换为 Result

我已经设置了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/

相关文章:

sql-server - 集成安全性 = 错误

sql-server - 如何使用 SQL Server 中的存储过程在单个查询中插入多行

vb.net - 在SQL Server 2008 R2数据库中存储图像

sql-server-2008 - 从一组运行值中选择最旧和最新的值

sql - 使用 row_number() 通过分区生成计算列

sql - 当相关行可能不存在时从连接表中进行选择

html - 为什么 MySQL 表中的所有行都是相同的? (MySQL 表 > HTML 表)

php - while($row = mysql_fetch_assoc($result)) - 如何 foreach $row?

jquery - 如果单击某行的子元素,如何获取该行的 id 属性?

sql-server-2008 - 如何使用 T-SQL 重命名列名