私の同僚は、次の文脈でIIF
の使用がわかりにくいと判断しました。可読性を高めるためにON句にIIFを使用する代わりに
読みやすい代替アプローチはありますか?
あなただけのより良い論理or
演算子、または使用することができ
DROP TABLE IF EXISTS #Cas;
CREATE TABLE #Cas(OP VARCHAR(10), BR VARCHAR(10), SCORE INT)
INSERT INTO #Cas
values
('A','X', 10),
('A','Y', 5),
('B','J', 6),
('C','Q', 50)
DROP TABLE IF EXISTS #Target;
CREATE TABLE #Target(OP VARCHAR(10), BR VARCHAR(10))
INSERT INTO #Target
values
('A','ALL')
SELECT C.OP,
SUM(C.SCORE)
FROM #Cas C
INNER JOIN #Target T
ON
C.OP = T.OP AND
C.BR = IIF(T.BR = 'ALL', C.BR, T.BR)
GROUP BY C.OP
私はこれを自分自身の答えより良くしています。 +1。 –
'AND t.br in( 'ALL'、c.br)'は私が使用するものです - はるかに読み込み可能です – whytheq