簡體   English   中英

選擇所有值並同時從不同表中總結一個字段的值

[英]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)

我嘗試了上面的查詢,但它顯示了以下錯誤。(請檢查鏈接)

http://i44.tinypic.com/bdaq.png

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM