我正在尝试用dbo_OperacijuTIpai_SK.OperacijuTipaiID = 50
求和dbo.OperacijosPard_SK.SumaBePVM
,用dbo_OperacijuTIpai_SK.OperacijuTipaiID = 61
求减法
有没有比创建两个SUM为_Id = 50
和_Id = 61
的查询然后加入更简单的方法?
SELECT dbo_Partneriai_SK.Pavad,
Sum(dbo_OperacijosPard_SK.SumaBePVM) AS SumOfSumaBePVM
FROM (dbo_OperacijosPard_SK
INNER JOIN dbo_Partneriai_SK
ON dbo_OperacijosPard_SK.PartneriaiId = dbo_Partneriai_SK.PartneriaiId)
INNER JOIN dbo_OperacijuTipai_SK
ON dbo_OperacijosPard_SK.OperacijuTipaiId=dbo_OperacijuTipai_SK.OperacijuTipaiId
WHERE (((dbo_OperacijosPard_SK.Data)>#1/1/2021#)
AND ((dbo_OperacijuTipai_SK.OperacijuTipaiId)=50
Or (dbo_OperacijuTipai_SK.OperacijuTipaiId)=61))
GROUP BY dbo_Partneriai_SK.Pavad
ORDER BY Sum(dbo_OperacijosPard_SK.SumaBePVM) DESC;
SELECT
dbo_Partneriai_SK.Pavad
, Sum(case when OperacijuTipaiId=50 then dbo_OperacijosPard_SK.SumaBePVM else 0 end)
- Sum(case when OperacijuTipaiId=61 then dbo_OperacijosPard_SK.SumaBePVM else 0 end) AS SumOfSumaBePVM
FROM (dbo_OperacijosPard_SK
INNER JOIN dbo_Partneriai_SK ON dbo_OperacijosPard_SK.PartneriaiId = dbo_Partneriai_SK.PartneriaiId)
INNER JOIN dbo_OperacijuTipai_SK ON dbo_OperacijosPard_SK.OperacijuTipaiId = dbo_OperacijuTipai_SK.OperacijuTipaiId
WHERE (((dbo_OperacijosPard_SK.Data)>#1/1/2021#) AND ((dbo_OperacijuTipai_SK.OperacijuTipaiId)=50 Or (dbo_OperacijuTipai_SK.OperacijuTipaiId)=61))
GROUP BY dbo_Partneriai_SK.Pavad
ORDER BY Sum(dbo_OperacijosPard_SK.SumaBePVM) DESC;