我加入了三个表,因为在客户和订单明细表中没有共同的记录。我没有得到结果,我该怎么办?
orders table,customerstable,orderstable 这是我的代码 选择不同的c.customername,sum(d.quantityOrdered)作为总数量 从订单o 在o.orderNumber = c.customerNumber上左加入客户c 左连接顺序详细信息d在o.ordernumber = d.ordernumber 按c.customerNumber分组
运行查询的结果:
答案 0 :(得分:1)
您需要从此更改条件:
on o.ordernumber = o.ordernumber
对此:
on o.ordernumber = d.ordernumber
还需要更改此内容:
o.orderNumber = c.customerNumber
对此:
o.customerNumber = c.customerNumber
另一件事:您应该将餐桌订单加入餐桌客户,而不要反过来。这意味着您需要从customers
中进行选择,然后离开联接表orders
,然后在orderdetails
上离开联接orders
。
select distinct c.customername, sum(d.quantityOrdered) as totalquantity
from customers c
left join orders o on c.customerNumber = o.customerNumber
left join orderdetails d on o.ordernumber = d.ordernumber
group by c.customerNumber
having sum(d.quantityOrdered)<=500
感谢埃里克!
除此之外,请同时检查您的客户加入。