MYSQL - 一个Query中的多个SELECT语句

时间:2016-02-29 16:06:50

标签: php mysql

我有4个表:用户,帖子,评论和回复。

我想在输入用户个人资料时获取帖子,其中posts.user_id = users.user_id和评论,其中comments.post_id = posts.post_id并回复where replies.comment_id = comments.comment_id ..

可以在同一个语句中完成所有操作吗?或者我必须在帖子的循环内放置一个循环注释并循环回复注释循环内的回复?

修改

以下是我想申请的代码更简单..此代码工作正常并返回帖子及其所有者和帖子及其所有者的评论以及每条评论及其所有者的回复。 但实际上我想用更少的循环来做。

cd

Here is the Result

2 个答案:

答案 0 :(得分:1)

是的,它可以。您想使用MySQL JOIN syntax

例如:

SELECT u.*, p.*, c.*, r.*
FROM users u
JOIN posts p ON u.user_id = p.user_id
JOIN comments c ON u.user_id = c.user_id
JOIN replies r ON u.user_id = r.user_id

希望能让你知道如何去做。

答案 1 :(得分:0)

您可以在不明确使用JOIN运算符的情况下将表连接在一起。也许是这样的:

SELECT * 
FROM   users, 
       posts, 
       comments, 
       replies 
WHERE  posts.user_id = users.user_id 
       AND comments.post_id = posts.post_id 
       AND replies.comment_id = comments.comment_id