MySQL比较结果0和1

时间:2012-07-30 12:48:57

标签: mysql select compare

我需要从两个选项中获得结果,并进行比较。

他们的值应返回 0 1 ,如果其中一个为1,则为1。 1的优先级始终高于0。

此:

  1. 1st返回 0 ,2nd返回 1 ,然后 1
  2. 第一次返回 1 ,第二次返回 0 ,然后是 1
  3. 两者都返回 1 ,显然 1
  4. 返回 0 ,最后 0

2 个答案:

答案 0 :(得分:2)

GREATEST()中的两个表达式换行以返回最大值,如果11,则为0,如果两者都不是,则为SELECT GREATEST(col1, col2) AS result

SELECT GREATEST(
  (SELECT col1 FROM tbl1 WHERE val='something'),
  (SELECT col2 FROM tbl2 WHERE val='something else')
) AS result

如果它跨越两个子选择:

{{1}}

答案 1 :(得分:1)

将其包装在另一个SELECT中并使用OR。 MySQL已经将1视为true,将0视为false。

试试这些:

SELECT (SELECT 1) OR (SELECT 0) AS result
// Returns 1

SELECT (SELECT 0) OR (SELECT 0) AS result
// Returns 0