MySQL SELECT超过两个表

时间:2015-02-02 03:54:30

标签: mysql select

这是我目前的代码

SELECT * FROM pn_queue WHERE email = '2'

现在我想扩展是在另一个表中使用“AND”。像这样:

SELECT * FROM pn_queue WHERE email = '2' AND FROM pn_cats WHERE cat = '2'

我怎么做到的?我会感谢任何想法或解决方案。

1 个答案:

答案 0 :(得分:0)

您需要使用Join

select * from pn_queue a
  join pn_cats b on a.pn_cats_id = b.id -- Change this condition to whatever should match on both table.
where b.cat = '2'
  and a.email = '2'

不确定连接条件是否实际上是正确的,因为您没有提供enought信息,但只是修改条件a.pn_cast_id = b.id,如果不是。

修改:刚刚在您的示例中实现了cat和email都等于2所以如果它应该是匹配值,那么正确的查询就是:

select * from pn_queue a
  join pn_cats b on b.cat = a.email

有关SQL Join的更多信息,您应该检查此线程What is the difference between "INNER JOIN" and "OUTER JOIN"?。它解释了所有可能的连接与图表/示例等之间的区别。