【发布时间】:2011-05-09 05:45:59
【问题描述】:
我使用带有 case 语句的以下查询--
SELECT case WHEN t1.abc !='' THEN 1 ELSE 0 END as ids FROM
table1 AS t1 LEFT JOIN table2 as t2
ON t1.pid = t2.id
WHERE t2.idr IS NULL and t1.idr=23
当查询返回一行时,我在 ids 中得到 1,但当查询没有返回任何内容时,则不返回 0。为什么会这样??
我需要的是,当查询返回一行时,它应该返回 1,如果没有显示结果,那么它应该返回 0。我哪里出错了??
【问题讨论】:
-
我猜你必须使用
<>,而不是!= -
没有结果是一样的,即使是
-
啊!现在我看到了这个问题,对不起。这不是它的工作原理。您应该检查查询后是否返回值。
-
对于 id 23,我的查询没有返回任何值,即没有值,在这种情况下,我希望它返回 0。