组合表以实现合并输出
使用多个数据表时,将它们组合起来生成一个统一的输出是很常见的任务。为了实现这一点,理解数据结构和查询操作变得至关重要。
想象有两个表:KnownHours 和 UnknownHours。目标是合并这些表,忽略“月份”列,以获得与各种费用编号和类别 ID 相关的小时的全面视图。
为了实现此目的,UNION 运算符是一个强大的工具。它允许我们组合多个查询的结果,本质上是将它们附加在一起。 SQL 中 UNION 的语法如下:
SELECT ... FROM table1 UNION SELECT ... FROM table2
在我们的例子中,我们需要对每个 ChargeNum/Category 组合的小时数进行分组。我们可以如下修改 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
UNION ALL 关键字与 UNION 略有不同,因为它不会尝试删除重复的行。这确保了两个查询的所有行都包含在最终结果中。
通过利用 UNION ALL 操作,我们可以有效地组合 KnownHours 和 UnknownHours 的结果,创建一个具有所需输出的综合表:
ChargeNum CategoryID Hours 111111 1 90 111111 2 50 111111 Unknown 110.5 222222 1 40 222222 Unknown 25.5
了解 UNION 运算符使您能够合并来自多个来源的数据,为您的数据分析构建量身定制的全面输出提供强大的手段需要。
以上是如何使用 SQL 的 UNION 运算符合并多个表中的数据?的详细内容。更多信息请关注PHP中文网其他相关文章!