5

我周一正在为我的 Comp Science 项目做一个项目,我遇到了一个关于查询的 MySQL 问题。

我想通过文字实现的就是这个。

如果to=jake 列和 from=connor列或to=connor 列和 from=jake 列从该特定表中获取 cID。

到目前为止我所拥有的是这个

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

我可以做些什么来让这个查询工作?提前致谢!

4

3 回答 3

15

您只需要一对()将两个条件对分组,用逻辑分隔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')";

注意:FROMandTO都是MySQL 保留关键字,因此需要用反引号引用。

于 2012-06-16T22:15:28.247 回答
1

这是未经测试的,但我认为您需要将 to='$to' AND to='$from' (我猜应该是 from not to ??)放入括号中?

刚刚意识到别人在我打字的时候放了这个

于 2012-06-16T22:16:41.490 回答
1
$query="SELECT cID FROM conversation WHERE 
(to='$to' OR to='$from' OR to='$from') AND from='$to'";
于 2012-06-16T22:16:54.143 回答