0
我正在尝试使用先前声明的列来计算列。我认为这将在MySQL中起作用,但我不确定PostgreSQL中该如何做。如何使用PostgreSQL中以前定义的列进行计算?
我的声明是这样的:
SELECT customerNumber, customerName, (
SELECT COALESCE(SUM(payments.amount), 0)
FROM payments
WHERE customers.customerNumber = payments.customerNumber
) as totalOfPaymentsMade,(
SELECT COALESCE(SUM(orderdetails.priceeach * orderdetails.quantityordered), 0)
FROM orders
LEFT JOIN orderdetails ON orderdetails.ordernumber = orders.ordernumber
WHERE customers.customerNumber = orders.customerNumber
) as totalValueOfAllOrdersMade, creditLimit, creditLimit + totalOfPaymentsMade - totalValueOfAllOrdersMade as amountOfAvailableCredit
FROM customers
ORDER BY customerNumber
我收到此错误信息:column "totalofpaymentsmade" does not exist LINE 11: ...lValueOfAllOrdersMade, creditLimit, creditLimit + totalOfPay...
不要你错过了GROUP BY中的款项报表? – CapelliC 2014-09-30 16:27:23
我想我现在不需要GROUP BY语句,因为我使用的是subquerys,并且希望SUM匹配我的WHERE子句的所有行。 – Sebastian 2014-09-30 16:36:31