【发布时间】:2020-11-29 21:37:06
【问题描述】:
给定以下表格:
• 客户(ClientId、姓名、姓氏、年龄)
• 产品(ProductId、名称、价格)
• 购买(Purchaseld、Date、ClientId、Productid)
我需要编写一个 SQL 查询来显示客户购买的数量。它只能显示购买超过 1 次的客户。结果应包含以下字段:全名(即“john rambo”)、购买数量。
我已编写此查询,但结果不正确
SELECT Concat(clients.name, clients.surname)
FROM clients
JOIN products
ON clients.name = products.name
JOIN purchases
ON products.productid = purchases.productid
GROUP BY clientid
HAVING Count(clientid) > 1
【问题讨论】:
-
你看到了什么而不是你期望的?
-
clients.name = products.name这看起来很奇怪 -
我已经写了这个查询,但结果不正确 您的查询在其主要状态(在 M Khalid Junaid 的版本之前)可以产生的唯一结果是“语法错误”。
-
你能提供一个db-fiddle.com 吗?这样我们就可以轻松地使用您的数据。
-
表
Products不需要在描述的任务中使用。加入Clients和Purchases(使用正确的列加入),按客户分组并计算购买量(不是客户)。