我有三个表,例如:
客户
表
CUSTOMER# LASTNAME FIRSTNAME
1001 MORALES BONITA
1002 THOMPSON RYAN
1003 SMITH LEILA
1004 PIERSON THOMAS
1005 GIRARD CINDY
订单
表
ORDER# CUSTOMER# ORDERDATE
1000 1005 31/MAR/09
1001 1010 31/MAR/09
1002 1011 31/MAR/09
1003 1001 01/APR/09
orderitems
表
ORDER# ITEM# ISBN QUANTITY
1000 1 3437212490 1
1001 1 9247381001 1
1001 2 2491748320 1
1002 1 8843172113 2
我的问题是:如何打印订购超过 1 件商品的客户姓名(数量超过 1?
我的sql查询是这样的:
SELECT c.firstname, c.lastname
FROM customers c
WHERE (SELECT o.quantity FROM orderitems WHERE o.quantity > 1)
上面的查询有什么错误?
最佳答案
这应该可以做到:
select c.firstname, c.lastname
from customer c
join orders o on c.customer# = o.customer#
join orderitems oi on o.order# = oi.order#
group by c.firstname, c.lastname
having sum(oi.quantity) > 1
关于sql - 如何在sql中使用三个表的子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48317242/