【问题标题】:Getting an item count and joining table to display items customer detail获取项目计数并加入表以显示项目客户详细信息
【发布时间】:2016-11-13 02:15:05
【问题描述】:

我有两张表:customers items

我需要显示一个查询,显示每个客户(销售)项目的总数

示例:

客户名称 | total_items_customer_sales |客户地址

我使用了 Count(),但不断获取表中所有项目的总值

SELECT count(id) FROM items GROUP BY items.id

我如何加入?我希望这足够具体

结构:

客户(ID(主要)、姓名、地址、城市、州)。

items(Id(primary)、description、cost、seller(FK))

希望能更好地解释结构

【问题讨论】:

  • 请编辑您的帖子并添加两个表格的结构。你必须在这两个表上加入,然后group by你的customer id
  • 我希望看起来更好

标签: mysql join count


【解决方案1】:
SELECT c.Id,  c.Name, COUNT(*) AS Items
FROM Customers AS c
LEFT JOIN Items AS i ON i.Seller = c.Id
GROUP BY c.Id, c.Name

【讨论】:

  • 干杯,我要研究左连接,但那是什么,或者如果你知道一个很好的连接资源?
  • 还说我需要向客户展示可能在项目列表中没有任何交易的客户?我怎么显示这个?因此客户显示但在计数中显示 0(或 null)。
  • 我认为可能在项目列表中没有任何交易的客户最好使用exists。请对此进行一些研究...
  • 当使用左连接连接两个表时,我们基本上是说我们要选择连接语句左侧表中的所有行,然后连接到右表中的任何匹配行在指定的条件下。如果左表中存在一行,但右表中没有,则仍将返回该行,但右表中的任何字段都将为空。如果右表中存在多个匹配行,这将导致左表中的匹配条目在每次匹配时都重复。上面的 sql 应该为没有项目的客户提供 0 计数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-05
  • 2016-07-11
  • 1970-01-01
  • 2019-01-18
  • 2019-07-21
  • 1970-01-01
  • 2018-07-31
相关资源
最近更新 更多