use*_*269 0 sql t-sql join subquery
有人可以帮我解决这个问题吗?在子查询P中,存在一个会计年度,其中BudgetActivityDetailCurrentBiennium中不存在同一年.我需要此查询来显示该年度金额的空值.目前那一年根本没有出现.
SELECT
P.FiscalYear
,P.BudgetNbr
,SUM(sec.BudgetActivityDetailCurrentBiennium.TranAmount) AS Amount
FROM
(SELECT
sec.BudgetIndexCurrentBiennium.BudgetNbr
,AVG(CAST(sec.BudgetIndexCurrentBiennium.BienniumYear AS INT)+1) AS FiscalYear
FROM
sec.BudgetIndexCurrentBiennium
GROUP BY
sec.BudgetIndexCurrentBiennium.BudgetNbr
UNION ALL
SELECT
sec.BudgetIndexCurrentBiennium.BudgetNbr
,AVG(CAST(sec.BudgetIndexCurrentBiennium.BienniumYear AS INT)+2) AS FiscalYear
FROM
sec.BudgetIndexCurrentBiennium
GROUP BY
sec.BudgetIndexCurrentBiennium.BudgetNbr) AS P
LEFT JOIN sec.BudgetActivityDetailCurrentBiennium
ON
P.BudgetNbr = sec.BudgetActivityDetailCurrentBiennium.BudgetNbr
AND P.FiscalYear = sec.BudgetActivityDetailCurrentBiennium.FiscalYear
WHERE sec.BudgetActivityDetailCurrentBiennium.BudgetNbr = '076036'
GROUP BY
P.FiscalYear
,P.BudgetNbr
Run Code Online (Sandbox Code Playgroud)
小智 5
我认为问题是你的WHERE条款,
WHERE sec.BudgetActivityDetailCurrentBiennium.BudgetNbr = '076036'
Run Code Online (Sandbox Code Playgroud)
这适用于SELECT整体,而不仅仅是(我猜你打算)左连接.
更改WHERE到AND.这应该够了吧.
| 归档时间: |
|
| 查看次数: |
46 次 |
| 最近记录: |