MySQL查询和OR运算符逻辑

时间:2012-06-16 22:13:09

标签: mysql database computer-science

我正在为我的Comp Science项目进行星期一的项目,我遇到了一个关于查询的MySQL问题。

我希望通过语言实现目标。

如果列 to = jake并且列= = connor 列= = connor和列from = jake ,则从该特定表中获取cID。

到目前为止我所拥有的是

 $query="SELECT cID FROM conversation WHERE to='$to' AND to='$from' OR to='$from' AND        from='$to'";

我可以做些什么来使这个查询起作用? 提前谢谢!

3 个答案:

答案 0 :(得分:14)

您只需要几对()来对两个条件对进行分组,由逻辑OR

分隔
$query="
  SELECT cID 
  FROM conversation
  WHERE 
      /* to Jake, from Connor */
     (`to`='$to' AND `from`='$from')
      /* OR to connor, from jake */ 
     OR  (`to`='$from' AND `from`='$to')";

注意:FROMTO都是MySQL reserved keyword,因此需要使用反引号进行引用。

答案 1 :(得分:1)

这是未经测试的,但我认为你需要把to ='$ to'AND'=''from''(应该是从不到我猜?)到括号中?

刚刚意识到别人把它当作我正在输入它

答案 2 :(得分:1)

$query="SELECT cID FROM conversation WHERE 
(to='$to' OR to='$from' OR to='$from') AND from='$to'";