試試這個。它使用虛擬數據爲我工作(我將發佈查詢作爲評論)。這會給你兩列:第一是RiskCountWithoutPlan二是RiskCountWithPlan
SELECT
SUM([rcwop]) [RiskCountWithoutPlan],
SUM([rcwp]) [RiskCountWithPlan]
FROM
(
SELECT
CASE WHEN LAP.PlanID IS NULL THEN 1 ELSE 0 END [rcwop],
CASE WHEN LAP.PlanID IS NOT NULL THEN 1 ELSE 0 END [rcwp]
FROM
Rpt_ImpactAssessment IMA
LEFT JOIN RM_LinkActionToPlan LAP ON IMA.FKPlanID = LAP.PlanID
WHERE IMA.FKItemID = 38
AND IMA.ImpactCurPIDLevel LIKE '%High%'
) tbl
希望這是你所期待的。
斯圖
DECLARE @Rpt_ImpactAssessment TABLE (
FKRiskID INT,
FKItemID INT,
FKPlanID INT,
ImpactCurPIDLevel NVARCHAR(20)
)
DECLARE @RM_LinkActionToPlan TABLE (
FKRiskID INT,
FKItemID INT,
PlanID INT,
ImpactCurPIDLevel NVARCHAR(20)
)
INSERT INTO @Rpt_ImpactAssessment VALUES (1, 38, 2, 'High')
INSERT INTO @RM_LinkActionToPlan VALUES (1, 38, 2, 'High')
INSERT INTO @Rpt_ImpactAssessment VALUES (1, 38, 3, 'High')
INSERT INTO @RM_LinkActionToPlan VALUES (1, 38, 3, 'High')
SELECT
SUM([rcwop]) [RiskCountWithoutPlan],
SUM([rcwp]) [RiskCountWithPlan]
FROM
(
SELECT
CASE WHEN LAP.PlanID IS NULL THEN 1 ELSE 0 END [rcwop],
CASE WHEN LAP.PlanID IS NOT NULL THEN 1 ELSE 0 END [rcwp]
FROM
@Rpt_ImpactAssessment IMA
LEFT JOIN @RM_LinkActionToPlan LAP ON IMA.FKPlanID = LAP.PlanID
WHERE IMA.FKItemID = 38
AND IMA.ImpactCurPIDLevel LIKE '%High%'
) tbl
你是不是很具體的你想要得到的結果是什麼。我認爲你可以刪除存在而不存在,但我不認爲這是你想要的結果。 –
合併是什麼意思?你想寫一個查詢來獲得兩個不同條件的不同計數? – Nilesh