0

SQL Server 2008で10個のデータリストを含むことができるものを選択し、そのデータをその列の1つの特定の値と比較するための最良のアプローチは何ですか?

だから、以下のようなもの

SELECT bType FROM WORK_STATION WHERE nFileId = 123456789

1 ~ 10 個の値 MAX を返す可能性があります (少なくとも 1 つの値が返されます)。次に、特定の値を選択した上記の SQL ステートメントのデータを次のように比較します。

if bType = 1
--DO something

このようなことをするための最良のアプローチは何ですか?

4

2 に答える 2

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 
于 2012-06-24T07:20:48.977 に答える
0

SPを使用して変数を宣言し、それを結果セットと比較できると思います。値が10個しかないことがわかっている場合は、一時テーブルを使用して10個の値を挿入できます。

これがお役に立てば幸いです。

于 2012-06-24T06:59:00.570 に答える