[英]SQL Group By on field from other table
如何在sql中對來自其他表的字段進行分組。 這是我的代碼
select
sum(a.trans_amount), (
select
ledger_name
from
ledger_master
where
ledger_master.ledger_code = transaction_ledger.ledger_code
) as ledger_name,
ledger_code
from
transaction_ledger
where
ledger_parent = 'Sundry Debtors'
group by
ledger_code,
ledger_name
假設每個交易分類帳只有一個分類帳主記錄,這可能就是您所追求的:
select
sum(t.trans_amount),
m.ledger_name,
t.ledger_code
from
transaction_ledger t
inner join
ledger_master m
on t.ledger_code = m.ledger_code
where
t.ledger_parent = 'Sundry Debtors'
group by
t.ledger_code,
m.ledger_name
為什么不加入結果然后分組呢?
SELECT
SUM(Trans_Amount),
A.Ledger_Name,
A.Ledger_Code
FROM Transaction_Ledger A INNER JOIN Ledger_Master B
ON A.Ledger_Code=B.Ledger_Code
WHERE A.Ledger_Parent='Sundry Debtors'
GROUP BY A.Ledger_Code, A.Ledger_Name
您的Ledger_Master和Transaction_Ledger有一個相關的列“Ledger_Code”,您在已提供的示例查詢中使用了該列。
記住這一點,您可以在連接兩個表的這兩個字段后繼續按必填字段進行分組。
幸運的是,您想要的選擇列表(名稱和代碼)也可用於分組 - 因此不違反分組規則。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.