[英]Selecting all values and sum up a field's value from different table at the same time
我有以下查詢,沒有,SUM(amount) AS total
它工作正常。 現在的問題是我想要 select 我的表vouchers
中的所有值,同時想要從我的另一個名為details
的表中獲取字段amount
的總和值。
SELECT *,SUM(amount) AS total FROM vouchers
LEFT JOIN details on vouchers.voucher_no = details.voucher_no
LEFT JOIN accounts on accounts.code = vouchers.account_code
WHERE (voucher_type='1' AND t_code=$code)
我嘗試了上面的查詢,但它顯示了以下錯誤。(請檢查鏈接)
將details
總和放入一個子查詢中,您LEFT JOIN
將對其進行處理。 您的原件缺少SUM()
聚合的任何GROUP BY
子句。
SELECT
vouchers.*,
/* from the subquery... */
detailssum.total
FROM
vouchers
LEFT JOIN (
/* Subquery gets total per voucher_no to join against vouchers */
SELECT voucher_no, t_code, SUM(amount) as total FROM details GROUP BY voucher_no
) detailssum ON vouchers.voucher_no = detailssum.voucher_no
LEFT JOIN accounts on accounts.code = vouchers.account_code
WHERE (voucher_type='1' AND t_code=$code)
(我們假設$code
已經包含經過清理和邊界檢查的值)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.