【发布时间】:2017-03-08 04:47:55
【问题描述】:
我有一个表,其中包含一个旋转代码值、Code1、Code2 等,直到 Code100。 我有一组值(1,2,3,4,5,6),我需要将每个代码与之进行比较。是否可以在不必写出大量案例语句的情况下扫描一组列以获取特定值?
CASE WHEN Code1 IN (1,2,3,4,5,6) THEN 'yes'
WHEN Code2 IN (1,2,3,4,5,6) THEN 'yes'
WHEN Code3 IN (1,2,3,4,5,6) THEN 'yes'
etc
【问题讨论】:
-
您可以动态构建查询。
-
嗯,取决于数据集,您可以取消透视它并检查一次。您可以使用游标,但可能会遇到一些性能缺陷,但与这个庞大的案例语句相比,可能不使用 FAST FORWARD
-
500 万条记录,所以宁愿不取消透视
标签: sql sql-server tsql case