【发布时间】:2009-05-01 20:28:14
【问题描述】:
我有一个存储过程..
Proc:
spMyStoredProcedure
获取参数:
@List varchar(255)
@List 将是一个逗号分隔的值列表,即... @List = '1,2,3'
(清晰......单个值 1 将意味着 col1 = true 的所有记录)
我有一个包含这些列的表:ID int、col1 bit、col2 bit、col3 bit , col4 位。
ID | col1 | col2 | col3 | col4
------------------------------
12 | 0 | 1 | 0 | 0
13 | 1 | 0 | 0 | 0
14 | 0 | 0 | 1 | 0
15 | 0 | 0 | 0 | 1
我希望我的结果仅包含列表中这些行的 ID。 即 12、13、14。
我的第一个想法是遍历列表并进行选择。 IE。对于第一个值为 1 的值,我在 col1 中获取所有具有 1(真)的记录(导致记录 12)。然后移动到第二个值为 2 并在 col2 中获取所有记录为 1(真)(导致记录 14)等等。我想知道是否有更有效/更好/更清洁的方法来做到这一点?
【问题讨论】:
-
我觉得你的问题不够清楚
标签: sql tsql stored-procedures