首页 > 数据库 > mysql教程 > 如何使用SQL将多个不同结构的表合并为一个统一的输出表?

如何使用SQL将多个不同结构的表合并为一个统一的输出表?

Barbara Streisand
发布: 2024-12-22 02:00:12
原创
440 人浏览过

How Can I Combine Multiple Tables with Different Structures into a Single Unified Output Table Using SQL?

组合表以实现统一输出

可以合并表以实现各种数据操作结果。一项常见任务是将多个表中的数据合并到一个表中以供进一步分析。考虑以下场景:

您有两个表,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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板