我得到了三列二進制值。然後我得到一個基於這些值產生字符串的查詢。我使用case
進行了這項工作。但它是相當巨大的(這是一個更大的查詢的一部分),我想知道也許有更好的方法來做到這一點?替換SQL查詢中的CASE
SELECT (CASE
WHEN TableA.flag1 = 1 AND TableA.flag2 = 1 AND TableA.flag3 = 1 THEN 'CGR'
WHEN TableA.flag1 = 1 AND TableA.flag2 = 1 THEN 'CG'
WHEN TableA.flag1 = 1 AND TableA.flag3 = 1 THEN 'CR'
WHEN TableA.flag2 = 1 AND TableA.flag3 = 1 THEN 'GR'
WHEN TableA.flag1 = 1 THEN 'C'
WHEN TableA.flag2 = 1 THEN 'G'
WHEN TableA.flag3 = 1 THEN 'R'
ELSE 'nothing'
END)
FROM TableA
我在MSSQL 2000服務器上工作。