繁体   English   中英

以下 JOIN 问题的有效 SQL 查询是什么

[英]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包含一列DIDBID是一个错字,对吧?),它与表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.

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