SQL Server 2008中选择 可包含10个数据列表 的最佳方法,然后将其与其中一个数据中的特定值进行比较列
如下所示
SELECT bType FROM WORK_STATION WHERE nFileId = 123456789
哪一个可以返回1到10个值MAX(将返回至少一个值)。然后将上面我们刚刚选择的SQL语句中的数据与特定值进行比较,比如
if bType = 1
--DO something
做这样的事情的最佳方法是什么?
答案 0 :(得分:1)
declare @table as table(btype int)
declare @btype int
insert into @table
SELECT bType FROM WORK_STATION WHERE nFileId = 123456789
while(exists(select top 1 'x' from @table)) --as long as @table contains records continue
begin
select top 1 @btype = btype from @table
if(@btype = 10)
print 'something'
delete top (1) from @table --remove the previously processed row. also ensures no infinite loop
end
答案 1 :(得分:0)
我认为您可以使用SP来声明变量,然后将其与结果集进行比较,如果您知道只有10个值,则可以使用临时表并插入10个值。
我希望这有用。