gpt4 book ai didi

sql - 如何聚合表达式的结果?

转载 作者:行者123 更新时间:2023-12-02 21:52:08 27 4
gpt4 key购买 nike

我试图在调整 docBal 后获取每个公司的总和(docBal)。但是当我运行下面的查询时,我被迫在 groupby 中包含 doctype 和 docbal - 这是我不想要的。如何修改此查询?

 select 
DocBal = CASE d.DocType WHEN 'AD' THEN -d.DocBal
ELSE d.DocBal END,
Sum(DocBal)
from Vendor v
inner join APDoc d
on v.VendId = d.VendId
where
d.PerPost = 201307
and d.DocType in ('VO','AP','AD')
and d.OpenDoc = 1
and Acct = 210110
group by CpnyID

最佳答案

您可以使用子选择来捕获所需的信息。

    SELECT  S.CpnyID,
SUM(S.DocBal)
FROM (
SELECT CpnyID,
CASE d.DocType WHEN 'AD' THEN -d.DocBal ELSE d.DocBal END AS DocBal
FROM Vendor v
INNER JOIN APDoc d ON v.VendId = d.VendId
WHERE d.PerPost = 201307
AND d.DocType in ('VO','AP','AD')
AND d.OpenDoc = 1
AND Acct = 210110
) AS S
GROUP BY S.CpnyID

这应该为您提供所需的数据,而无需在聚合函数中包含其他列。

关于sql - 如何聚合表达式的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18384822/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com