2013-03-23 74 views
0

有沒有在的mysql/oracle的在這裏你可以設置mulitiple列任何方式!= 0如何設置多列不等於零WHERE條件

我有表10+列我想選擇具有值的那些列!= 0

一種方法是使用多次,那些數表中的列。

的的exaple是:

SELECT `id`, `user_name`, `reference_id`, `adventure`, `beach`, `culture`, 
    `festival`, `food`, `fun`, `biking`, `ski`, `surf`, `family`, `couple`, 
    `single` FROM `ratings` 
    WHERE `adventure`!=0 
    AND `beach`!=0 
    AND `culture`!=0 
    AND `festival`!=0 
    AND `food`!=0 
    AND `fun`!=0 
    AND `biking`!=0 
    AND `ski`!=0 
    AND `surf`!=0 
    AND `family`!=0 
    AND `couple`!=0 
    AND `single`!=0 

有沒有什麼更好的辦法來做到這一點,而不是將這些許多和/或提前

謝謝!

+2

爲什麼 - 否決!請解釋 – sandip 2013-03-23 10:54:51

回答

4

試試這個:

SELECT `id`, `user_name`, ... 
FROM `ratings` 
WHERE 0 NOT IN (`adventure`, `beach`, `culture`, `festival`, ...) 
+1

啊..拜託我吧......正要發佈它 – asprin 2013-03-23 10:46:49

+0

想知道這兩種語法之間是否存在性能差異? – 2013-03-23 10:49:42

+0

它的工作和我想爲OR(多個或條件)如何做到這一點? – sandip 2013-03-23 10:54:21