これは私が最近尋ねた別の質問に似ていますが、もう少し先です。
tblCurrent
以前の質問で、 から特定の関連レコードの数を取得しながら、 でビューを構築する方法を尋ねましたtblHistorical
。
同じことを行う方法を知りたいのですtblCurrent
が、同じテーブルの特定の基準に基づいてレコードをカウントする 2 つの列を追加する必要があります。
私は2つのテーブルを持っています:
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
Ref は tblCurrent では一意ですが、Historical では一意ではありません。
私はアドバイスを受け、前の質問に対して次の作業に成功しました。
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
Q: カウントする 2 つの列を (上記のソリューションに) 追加するにはどうすればよいですか?
- 同じ+ (ただし現在のレコードではない)
tblCurrent
に一致し、かつ解決済み = Falseのレコードの数。CustomerID
Category
- 同じ+ + (ただし現在のレコードではない)
tblCurrent
に一致するレコードの数AND 解決済み = False。CustomerID
Category
SubCategory