我正在使用以下语句来开发一个简单的查询。不幸的是,当我运行该页面时,我不断收到语法错误。 如果我取出 RaisedInvoice Select 或 Transaction Sum 元素中的任何一个,它就会工作,但当两者都在时会失败。 一定是愚蠢的事情,所以请我为我的愚蠢错误提前道歉。
SELECT
RaisedInvoices.[Invoice Number], SUM(Transactions.sellgross) AS SumOfsellgross
FROM (RaisedInvoices LEFT JOIN Customers ON RaisedInvoices.[Customer WORef] = Customers.WORef)
LEFT JOIN Transactions ON RaisedInvoices.[Invoice Number] = Transactions.invnumber
答案 0 :(得分:2)
您正在聚合一列而不是另一列。在这种情况下,您需要在非聚合列中包含一个 GROUP BY
子句。
例如:
SELECT
RaisedInvoices.[Invoice Number], -- not aggegated
SUM(Transactions.sellgross) AS SumOfsellgross -- aggregated
FROM RaisedInvoices
LEFT JOIN Customers
ON RaisedInvoices.[Customer WORef] = Customers.WORef
LEFT JOIN Transactions
ON RaisedInvoices.[Invoice Number] = Transactions.invnumber
GROUP BY RaisedInvoices.[Invoice Number] -- added GROUP BY here
答案 1 :(得分:0)
根据您的查询,我会说您不需要与客户表的连接。
我会这样写:
$query = "SELECT RaisedInvoices.[Invoice Number], SUM(Transactions.sellgross) AS SumOfsellgross FROM RaisedInvoices LEFT JOIN Transactions ON RaisedInvoices.[Invoice Number] = Transactions.invnumber";
但是,我不确定 PDO 会接受方括号语法。