gpt4 book ai didi

sql - 将单独表中的行值合并到一列中。 [SQL]

转载 作者:行者123 更新时间:2023-12-02 00:18:49 24 4
gpt4 key购买 nike

您好,我正在学习 SQL,我正在尝试从多个表中检索一些数据,但无法让它显示我想要的方式,所以我只是想知道这是否可能,如果可以,有人可以建议一种方法,见下文:

    Table1:                     Table2:                     Table3

Package Licenses Package Licenses Package Licenses
====================== ====================== =====================
Product1 20 Product1 15 Product1 0
Product2 15 Product2 5 Product2 5
Product3 10 Product3 10 Product3 0

我希望许可证列中的值根据包名称相互添加,并尽可能显示如下内容:

    Package       Licenses
======================
Product1 35
Product2 25
Product3 20

如果有人可以让我知道如何做到这一点,如果这样的事情是可能的,请告诉我。

最佳答案

您需要研究的是 UNION ALL 子句和 GROUP BY 语句。

解决方案的要点是

  • 使用 UNION ALL 合并所有表中的所有行
  • 将结果放入子选择中
  • 通过对子选择的结果使用 GROUP BYSUM 聚合函数来计算总许可数

SQL语句

SELECT Package, SUM(Licenses) AS Licenses
FROM (
SELECT Package, Licenses FROM Table1 UNION ALL
SELECT Package, Licenses FROM Table2 UNION ALL
SELECT Package, Licenses FROM Table3
) t
GROUP BY
Package

关于sql - 将单独表中的行值合并到一列中。 [SQL],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11825553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com