2015-04-25 59 views
0

我有Ñ列的表这样如何比较具有多个值的多个表列?


塔1 |第2列|第3列| ...柱Ñ


我有Ñ值这样


值1,值2,值3,...的值Ñ


我想比较这些n的值与我的表的N列。我能做到这一点的方法之一是:

Select * from table where 

column 1 IN (value 1 , value 2 , value 3 , ...value n) 
|| 
column 2 IN (value 1 , value 2 , value 3 , ...value n) 
|| 
column 3 IN (value 1 , value 2 , value 3 , ...value n) 
|| 
. 
. 
. 
column n IN (value1 , value1 , value1 , ...value n) 

这是最最快办法做到这一点?

+0

见正常化 – Strawberry

回答

2

在你的情况没有。

我建议更改数据库的结构,如果可能的话:

表 ID |列| value_of_column |

日期例如:

1 | column_1 | zzz 
2 | colums_2 | yyyy 
3 | colums_1 | yyyy 
4 | colums_5 | yyyy 
.... 

,然后查询:

select * from table where value_of_column in (value......)