我不会做很多 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,如果重要的话,我无法更改数据库架构。
我还希望将其保留为一个独立的查询,而不必创建存储过程或临时表。