【发布时间】:2022-11-03 18:06:11
【问题描述】:
我的场景是过滤掉在任何列中具有值“RED”的记录
例如:表名:颜色
ID Col1 Col2 Col3
1 BLUE RED YELLOW
2 RED GREEN PINK
3 YELLOW BLACK BLUE
4 WHITE GREY RED
我必须检索记录 1、2、4,因为它们的至少一列中有 RED。我尝试了下面的 3 列表查询
Select * from Colors
where Col1= 'RED' or Col2= 'RED' or Col3 ='RED'
但是,如果我在表颜色中有 100 多列怎么办。有没有其他方法可以过滤这种情况?
【问题讨论】:
-
也许 ...WHERE 'red' IN (col1,col2,col3,...,col100)?
-
您有设计问题,尝试将您的数据转换为第三范式,这些问题将自行解决。