繁体   English   中英

我应该如何编写查询以显示来自两个表的数据

[英]How should i write query to display data from two table Like

我想从两个表中获取数据:

+----+------+
| id | name |
+----+------+
|  1 | John |
|  2 | Alex |
|  3 | Able |
|  4 | Ash  |
+----+------+

+------+------+
| name | sale |
+------+------+
| John |  100 |
| Alex |  200 |
| Able |  300 |
| Able |  100 |
| Alex |  500 |
+------+------+

从第一个表中检索所有代理名称,并从第二个表中检索销售总额。 如果没有任何用户出售,则必须给我零或零值。

输出类似于图像中所示。

要在没有销售的情况下返回空值,可以使用左外部联接。

SELECT
      agent.name
    , SUM(sale) AS totalSales
FROM
    agent
    LEFT OUTER JOIN sale ON agent.name = sale.name
GROUP BY
      agent.name

如果您希望该值为零,则可以使用合并或isull函数

SELECT
      agent.name
    , COALESCE(SUM(sale),0) AS totalSales
FROM
    agent
    LEFT OUTER JOIN sale ON agent.name = sale.name
GROUP BY
      agent.name

您可能想使用左联接,因为您要为结果中的每个销售人员排一行。 因此,例如:

SELECT a.name, SUM(s.sale)
FROM Agent a
LEFT JOIN Sale s on a.name = s.name
GROUP BY a.name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM