【发布时间】:2018-07-10 04:05:18
【问题描述】:
如何按值将这些表与特定组合并。我需要按完成日期、ETR 日期、设备名称、项目和操作员名称对其进行分组,但需要 ETR 实际小时数、完成实际小时数等仍显示在同一行中。
这是我的示例查询。
SELECT * FROM
(
SELECT '' as AccomplishmentDate, ETRDate, ProjectName,EquipmentName, 0 as
AccomplishmentActualHour, ETRActualHour FROM Table1
UNION
SELECT AccomplishmentDate, '' as ETRDate, ProjectName,,EquipmentName,
AccomplishmentActualHour,0 as ETRActualHour FROM Table1
)as Transaction
【问题讨论】:
-
当您说 MS SQL 并标记问题时,我假设您指的是 SQL Server。
-
您是否尝试在查询中添加 group by 子句?
-
如果我使用 group by,我能得到的只是 group by 子句中包含的值,对吗?比如 ProjectName、EquipmentName。 ETR Actual Hour 或我需要显示的其他列怎么样?我只需要通过使用 ProjectName 或 EquipmentName 将两行合并为一行,但显示不在组中的其他值?抱歉,这是我第一次使用 stackoverflow :)
-
您好,请查看我的最新图片以使其清晰。谢谢!
-
对你想要的列使用 MAX(neededcolumn) 可能会给你想要的结果。您可以从每个未分组的列中获取聚合,并且您必须确定您需要的聚合(可能是 SUM 或 MAX)。
标签: sql sql-server union