SQL(Sybase)返回计算行的总和
下面的查询返回具有贷方余额列ID和合计的所有客户-是否有任何方法仅返回合计的总和SQL(Sybase)返回计算行的总和,sql,sybase,Sql,Sybase,下面的查询返回具有贷方余额列ID和合计的所有客户-是否有任何方法仅返回合计的总和 SELECT Customer_ID AS 'ID', ( SELECT SUM(Credit) - SUM(Debit) FROM A_Sales_Ledger WHERE Document_Date <= '2013-09-30' AND Customer_ID = ID ) AS 'Total' FROM A_Sales_Ledger WHERE Total
SELECT Customer_ID AS 'ID',
(
SELECT SUM(Credit) - SUM(Debit)
FROM A_Sales_Ledger
WHERE Document_Date <= '2013-09-30'
AND Customer_ID = ID
) AS 'Total'
FROM A_Sales_Ledger
WHERE Total > 0
GROUP BY Customer_ID
试着这样做:
SELECT SUM(a.total)
FROM (
SELECT (SUM(Credit) - SUM(Debit)) AS "total"
FROM A_Sales_Ledger
WHERE Document_Date <= '2013-09-30'
GROUP BY Customer_ID
HAVING SUM(Credit) - SUM(Debit) > 0
) a;
试着这样做:
SELECT SUM(a.total)
FROM (
SELECT (SUM(Credit) - SUM(Debit)) AS "total"
FROM A_Sales_Ledger
WHERE Document_Date <= '2013-09-30'
GROUP BY Customer_ID
HAVING SUM(Credit) - SUM(Debit) > 0
) a;
嘿,菲利佩-感谢您的回复,但这只是做同样的事情-返回每个客户的所有行-我正在尝试获取所有返回行的总和:-抱歉。当我读到这个问题时,我不明白这一点。。我更新了我的答案和答案fiddle@gchq. 小提琴是mysql的,因为没有sybase可供选择,但我认为它会以同样的方式工作。谢谢你菲利佩-完成了这项工作-以前从未使用过“拥有”,因此这将成为一堆把戏:-嘿,菲利佩-谢谢你的回答,但这只是做同样的事情-为每个客户返回所有行-我正在尝试获取所有返回行的总和:-抱歉。当我读到这个问题时,我不明白这一点。。我更新了我的答案和答案fiddle@gchq. fiddle是为mysql设计的,因为没有sybase可供选择,但我认为它也会以同样的方式工作。谢谢Filipe——完成了这项工作——以前从未使用过“have”,因此这将成为ol的一大诀窍:-