次のスクリプトにスイッチを追加しようとしています。
その場合、?内または内@IgnoreExclusions = 1
の値を除外したくないですか?Controltb_AssocAccounts_ExcludedSurnameDOB
Controltb_AssocAccounts_ExcludedDOB
私は自分の試みの1つを含めましたが、これはあまり読みやすいとは思いませんNULL
。また、除外リストの1つにある値のように、確実に機能するかどうかもわかりません。
DECLARE @IgnoreExclusions TINYINT = 1;
SELECT ua.UserAccountKey,
FROM #Accounts x
INNER JOIN WH.dbo.vw_DimUserAccount ua
ON
( --surname and DOB need to match
x.Surname = ua.Surname AND
x.DOB = ua.DOB
)
AND
x.UserAccountKey <> ua.UserAccountKey
WHERE EXISTS
(
SELECT x.Surname, x.DOB
EXCEPT
SELECT ExcludedSurname,ExcludedDOB
FROM WH.dbo.Controltb_AssocAccounts_ExcludedSurnameDOB
)
AND
EXISTS
(
SELECT x.DOB
--SELECT CASE WHEN @IgnoreExclusions = 1 THEN NULL ELSE x.DOB END --<<<<ATTEMPT
EXCEPT
SELECT ExcludedDOB
FROM WH.dbo.Controltb_AssocAccounts_ExcludedDOB
)
GROUP BY ua.UserAccountKey;