从SQL查询中排除两个变量

时间:2010-11-18 03:02:37

标签: sql where-clause

我知道这将在两秒内回答,但我无法在网上找到它。我需要从查询中省略两件事......

  1. where display = no
  2. where verified = null
  3. 我不希望他们的信息出现,如果他们将他们的显示设置为“否”或者他们没有经过验证(当他们被验证时我会加上“是”)

    正如您所看到的,我只包含了display ='yes'的那些。我如何获得其他部分?

    $query = "SELECT * FROM $table WHERE display='yes'"
    

    我这样做吗?

    SELECT * FROM $table WHERE display='yes' AND verified='yes'"
    

4 个答案:

答案 0 :(得分:4)

WHERE display<>'no' AND verified IS NOT NULL

verified = NULL将永远不会匹配,因为根据定义,结果为NULL,实际上是无匹配。测试NULL是否相等确实应该是语法错误。

答案 1 :(得分:1)

感谢大家的评论。这就是我最终的目标:


$query = "SELECT * FROM $table WHERE display='yes' AND verified='yes'";
$result = mysql_query($query);
    if (!$result) {
die('Invalid query: ' . mysql_error());

像魅力一样工作!不包括那些对“请显示我的信息”和“是”对那些已经过验证的人说“是”的人。很抱歉我最初的问题很混乱!

答案 2 :(得分:0)

是的,您应该使用AND子句中的WHERE关键字。您也应该尝试一下,如果有任何问题,请告诉我们。

答案 3 :(得分:-1)

尝试'喜欢':

SELECT * FROM $TABLE WHERE DISPLAY LIKE 'yes' AND VERIFIED LIKE 'yes'