我需要你的建议。
我的CASE
T-SQL 查询中有这样的语句:
CASE
WHEN PLAN_GIVEN IN ( this list contains 1700 values to compare ) THEN 'P1'
WHEN PLAN_GIVEN IN ( this list contains 1800 values to compare ) THEN 'P2'
ELSE NULL
END AS PLAN_NAME
我无法列出所有 1700 个值IN ( ) THEN 'P1'
,因为所有这些值看起来都不好。
我尝试将 1700 个值和 1800 个值保存到lookup_table
类似
lookup_table
columnA = all 1700 values
columnB = all 1800 values
并使用了这个查询:
CASE
WHEN PLAN_GIVEN IN (SELECT columnA from lookup_table) THEN 'P1'
WHEN PLAN_GIVEN IN (SELECT columnB from lookup_table) THEN 'P2'
ELSE NULL
END AS PLAN_NAME
上面的代码可以运行,但是需要更多的时间来执行将近 10 分钟才能完成执行。
有没有其他方法可以实现这一目标?