0


0

SQL Serverの検索問題

目的の値がすべて列にあるアイテムをテーブルで検索する必要があります。 私はテーブルを持っています:

ID :    1 2 3 3 2 2 2 1 1 3
VALUE : 5 6 5 3 6 7 2 1 9 0

StoredProcに値のリスト(たとえば「6,7,2」)を指定すると、指定されたすべての値を持つすべてのIDが返されます。この場合、2のみが返されます。

少なくとも値の1つがわかっているものを検索したい場合は、「IN」を使用できますが、すべての値を取得するには何も見つかりませんでした。

前もって感謝します

アフシン・アレフィ

1 Answer


3


SQL Server 2008では、http://msdn.microsoft.com/en-us/library/bb510489.aspx [テーブル値パラメーター]を使用できます。

これらにより、値のテーブルをストアドプロシージャに渡し、他のテーブルとして処理することができます(サブクエリ、結合などで使用)。

クエリに関しては、テーブル値パラメーターを使用する場合、サイズ(行数)を照会できます。「ID」フィールドの「GROUP BY」と「HAVING」を組み合わせて「IN」を使用します行数をカウントします。