-1

在mysql/oracle中有什么方法可以设置多列!= 0

我在表中有 10+ 列,我想选择那些具有值的列!= 0

一种方法是使用表中列数一样多的次数。

例子是:

    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

有没有更好的方法来做到这一点,而不是添加那么多 AND/OR

提前致谢!

4

1 回答 1

4

试试这个:

SELECT `id`, `user_name`, ...
FROM `ratings` 
WHERE 0 NOT IN (`adventure`, `beach`, `culture`, `festival`, ...)
于 2013-03-23T10:46:32.057 回答