在2个表之间选择并找到用户

时间:2014-03-22 19:12:43

标签: mysql

我在mysql数据库中有2个表。 评论(comments_id,用户)和表 comments_reply(reply_id,comments_id,reply_flag,reply_user_id)

表注释包含评论ID和发布评论的用户ID。 第一个表格可能类似于评论(1315,23)

许多用户可以回复此评论,他们的详细信息存储在comments_reply表中。 第二个表可能类似于 comments_reply(1,1315,1,23)                                     ...... (2,1315,1,30)

我想从表comments_reply中选择reply_user_id,其中reply_flag = 1,此用户也存在于表注释中,并且是发布评论1315的用户。

知道是否可以这样做以及对此的SQL查询是什么?

3 个答案:

答案 0 :(得分:1)

检索评论自己评论的用户:

select
    cr.reply_user_id

from
    comments_reply cr join comments c on cr.comments_id = c.comments_id and cr.reply_user_id = c.user

where
    cr.reply_flag = 1

group by
    cr.reply_user_id

答案 1 :(得分:0)

SELECT cr.reply_user_id 
FROM comments_reply AS cr, comments AS c
WHERE cr.reply_flag=1 AND cr.reply_user_id = c.user AND c.comments = 1315 AND c.comments = cr.comments_id

答案 2 :(得分:-3)

请试试这个:

SELECT c.* 
FROM comments_reply cr, comments c
WHERE reply_flag = 1 AND cr.comments_id = c.comments_id AND c.comments_id = 1315