【发布时间】:2016-10-05 21:23:03
【问题描述】:
我创建了两个查询,它们都返回彼此独立的所需结果。我正在尝试加入他们以使返回的值为 customerName、Amount Ordered 和 Amount Paid。
目前,此查询有效,但仅返回 customerName。如何让查询返回其他两列?
SELECT c1.customerName
FROM
(SELECT cc.customerName, ROUND(SUM(od.priceEach * od.quantityOrdered), 2) as '$ Amount Ordered'
FROM customers cc
INNER JOIN orders o ON o.customerNumber = cc.customerNumber
INNER JOIN orderdetails od ON od.orderNumber = o.orderNumber
GROUP BY cc.customerName
) c1
INNER JOIN
(SELECT c.customerName, ROUND(SUM(p.amount), 2) as 'Total $ Amount Paid'
FROM customers c
INNER JOIN payments p ON p.customerNumber = c.customerNumber
GROUP BY c.customerName
) c2
WHERE c1.customerName = c2.customerName
GROUP BY c1.customerName
ORDER BY c1.customerName;
【问题讨论】: