如何在 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(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”,您在提供的示例查询中使用了该列。
记住这一点,您可以在连接两个表的这两个字段后继续按必填字段进行分组。
幸运的是,您想要的选择列表(名称和代码)也可以用于分组 - 因此不会违反分组规则。
关于mysql - SQL Group By 对其他表中的字段进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13333052/