這與我最近詢問的另一個問題類似,但會更進一步。用SQL計算()特定記錄在另一個* AND *表中
我上一個問題問我如何用tblCurrent
構建視圖,同時從tblHistorical
中檢索特定相關記錄的計數。
我現在想知道如何做同樣的,但補充說,指望基於來自同一tblCurrent
表中的特定條件的記錄了另外兩列。
我有兩個表:
tblCurrent
Ref | CustomerID | Category | Subcategory | Resolved | ... .. .. . . |
X001 | 001 | Sales | Major | TRUE
X002 | 002 | Sales | Minor | FALSE
X003 | 001 | Marketing | Corp | TRUE
tblHistorical
Ref | ... .. .. . . | Missing | Matched
X001 | ... .. .. . . | TRUE | FALSE
X001 | ... .. .. . . | FALSE | FALSE
X002 | ... .. .. . . | TRUE | TRUE
X002 | ... .. .. . . | TRUE | FALSE
X003 | ... .. .. . . | FALSE | FALSE
X003 | ... .. .. . . | TRUE | TRUE
裁判在tblCurrent獨一無二的,但不是歷史。
,我被告知,併成功得到了工作了前面的問題如下:
SELECT a.ref,
SUM(CASE WHEN b.Missing = 'True' THEN 1 ELSE 0 END) missingTrue,
SUM(CASE WHEN b.Missing = 'False' THEN 1 ELSE 0 END) missingFalse,
SUM(CASE WHEN b.Matched = 'True' THEN 1 ELSE 0 END) matchTrue
FROM tblCurrent a
LEFT JOIN tblHistorical b
on a.ref = b.ref
GROUP BY a.ref
問:我如何添加了另外兩列(上述解決方案),其數:
tblCurrent
中匹配相同的CustomerID
+Category
(但不是當前記錄)的記錄數AND AND Resolved = False。tblCurrent
中匹配相同的記錄數CustomerID
+Category
+SubCategory
(但不是當前記錄)AND Resolved = False。
如果您可以根據您當前問題的數據給出示例輸出,那會更好 –