我有一个SQL Server中有多列的表/视图。我希望所有列都使用单个条件搜索所有行,而列数为25,例如
SELECT * FROM TABLE
WHERE (COL_1, COL_2, COL_3,........COL_25) > 2
请帮忙!
答案 0 :(得分:0)
您必须单独检查每一列。
SELECT * FROM TABLE
WHERE COL_1 > 2 AND COL_2 > 2 AND COL_3 > 2 ........AND COL_25 > 2
答案 1 :(得分:0)
虽然我无法想象为什么,但是我们假设您在WHERE子句中只想要一个条件(没有AND或CASE)。
你可以这样做:
SELECT * FROM TABLE WHERE 0 = CHARINDEX
(
'-',
CAST(COL_1 - 3 AS nvarchar)
+ CAST(COL_2 - 3 AS nvarchar)
+ CAST(COL_3 - 3 AS nvarchar)
-- etc ...
)