组合表以实现统一输出
可以合并表以实现各种数据操作结果。一项常见任务是将多个表中的数据合并到一个表中以供进一步分析。考虑以下场景:
您有两个表,KnownHours 和 UnknownHours,其中包含与费用编号关联的小时数数据。您的目标是将这些小时数(无论月份如何)分组到具有以下格式的单个表中:
ChargeNum CategoryID Hours 111111 1 90 111111 2 50 111111 Unknown 110.5 222222 1 40 222222 Unknown 25.5
在此场景中,您需要聚合 ChargeNum 和 CategoryID(或“未知”表示未知时间)。为此,您可以利用 UNION 运算符:
SELECT ChargeNum, CategoryID, SUM(Hours) FROM KnownHours GROUP BY ChargeNum, CategoryID UNION ALL SELECT ChargeNum, 'Unknown' AS CategoryID, SUM(Hours) FROM UnknownHours GROUP BY ChargeNum
此 SQL 语句组合了两个查询的结果。第一个查询按 ChargeNum 和 CategoryID 对 KnownHours 表中的小时数进行分组和求和。第二个查询按 ChargeNum 对 UnknownHours 表中的小时数进行分组和求和,并分配 CategoryID“Unknown”。
通过使用 UNION ALL 组合结果,最终表包含两个查询中的行。 SUM() 聚合函数可确保为匹配 ChargeNum 和 CategoryID 累积小时数。
使用此技术,您可以有效地合并表以创建数据的合并视图。
以上是如何使用SQL将多个不同结构的表合并为一个统一的输出表?的详细内容。更多信息请关注PHP中文网其他相关文章!