私は SQL をあまり使いません。ほとんどの場合、CRUD 操作を行っています。ときどき、もう少し複雑なことがわかります。したがって、この質問は初心者の質問かもしれませんが、準備はできています。私はこれを何時間も理解しようとしてきましたが、役に立ちませんでした。
したがって、次のテーブル構造を想像してください。
> | ID | Col1 | Col2 | Col3 | .. | Col8 |
IDと計算列を選択したい。計算列の範囲は 0 ~ 8 で、クエリに一致した数が含まれています。また、特定の数の一致がある行のみが含まれるように結果セットを制限したいと考えています。
したがって、このサンプルデータから:
> | 1 | 'a' | 'b' | 1 | 2 |
> | 2 | 'b' | 'c' | 1 | 2 |
> | 3 | 'b' | 'c' | 4 | 5 |
> | 4 | 'x' | 'x' | 9 | 9 |
Col1 = 'a' OR Col2 = 'c' OR Col3 = 1 OR Col4 = 5 に対してクエリを実行し、計算結果が 1 を超える場合、結果セットは次のようになります。
> | ID | Cal |
> | 1 | 2 |
> | 2 | 2 |
> | 3 | 2 |
問題があれば、T-SQL と SQL Server 2005 を使用していますが、DB スキーマを変更できません。
また、ストアド プロシージャや一時テーブルを作成する必要がなく、1 つの自己完結型クエリとして保持することもお勧めします。