2015-10-14 79 views
-1

所以我当前的查询是这样的我怎样才能加入SQL查询两个表?

"SELECT * FROM articles 
WHERE id = :id " 

但是我不知道我怎么能加入文章表到另一个表称为用户。

我想这样做,以便我能够使用每篇文章行的author_id来获取使用articles.author作者的用户名,以找到与users.id匹配的作者id的用户名。

+1

PDO是连接方式,所以与您的问题无关。你可以使用['JOIN's](https://dev.mysql.com/doc/refman/5.0/en/join.html)连接你的表格。 –

+0

我知道PDO是驱动程序,但我不确定如何正确使用JOIN,因为我从来没有使用它们。 – Pepzter9

+1

我在上面的评论中链接了你的文档。从那里开始,尝试一下,然后当你有一个特定的问题回来给我们,我们会尽力帮助。 –

回答

1

相反,你写的查询,你可以只写几行内容:

select a.*, u.username 
from articles a 
left join users u on u.user_id = a.author_id 
where u.user_id = :id 

始终确保你通过客户端(命令行运行查询的phpMyAdmin,HeidiSQL,工作台或什么否则你更喜欢),根据需要进行改进,然后将其放入PDO的SQL语句中。

+0

不要忘记在整个 – Drew

+0

处尊敬你的别名谢谢,内部和左连接之间有什么区别?我上面的评论会像这样做吗? – Pepzter9

+0

@ Pepzter9在这种情况下,LEFT可能更好;如果文章没有作者,这个查询将不会返回任何内容,但是你的文档仍然会返回书籍字段。 – Uueerdo