[英]What is the valid SQL query for the following JOIN problem
我有以下表格
Customer (CID, name, address)
Orders (CID, BID, onDate, quantity)
Device (DID, title, IMEI, price, MID)
Manufacturer (MID, name, address)
SQL 语句将允许我检索在设备上花费了至少 X 金额(例如 350 元)的所有客户的 ID 和姓名,这些客户使我的制造商为“索尼”。 该列表应包括每个客户在这些设备上花费的总金额。
我假设表Orders
包含一列DID
( BID
是一个错字,对吧?),它与表device
相关。
加入表,按客户分组以聚合并在HAVING
子句中设置条件:
select c.CID, c.name,
sum(o.quantity * d.price) total_amount
from customer c
inner join orders o on o.CID = c.CID
inner join device d on d.DID = o.DID
inner join manufacturer m on m.MID = d.MID
where m.name = 'Sony'
group by c.CID, c.name
having sum(o.quantity * d.price) >= 350
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.