多次在多个表上选择查询

时间:2012-01-11 08:21:00

标签: sql select

我有两个表:COMMENTSUSERS。我在COMMENTS表上保存了用户名,但是用户的头像详细信息应该从USERS表中获取。

SELECT c.id, c.tarih, c.yorum, c.yorumcu, 
(SELECT avatarID FROM USERS WHERE Username=c.yorumcu) AS avatarID 
FROM COMMENTS c WHERE c.id = ?

最后的问号将替换为NEWS_ID。 (例如news.php?id=5

我设法对此进行编码,但它只从数据库中获取“最后评论”详细信息,而不是全部。 (假设有5个人在页面上发表评论,它只会得到最后一个(第5个)评论,忽略其余的评论。)

有人能帮助我吗?

聚苯乙烯。 Yorumcu的意思是“评论者”。 COMMENTS.CommenterUSERS.Username是相同的。

3 个答案:

答案 0 :(得分:2)

你的WHERE子句不应该是“WHERE c.news_id =?”,而不是“WHERE c.id =?” ?我假设c.id对每条评论都是唯一的。

答案 1 :(得分:0)

试试这个:

select c.id, c.tarih, c.yorum, c.yorumcu, avatarID 
FROM COMMENTS,USERS 
where USERS.Username=c.yorumcu  and c.id = ?

答案 2 :(得分:0)

我假设COMMENTS.id是表COMMENTS的唯一标识符?

如果是这种情况,那就是逻辑,你只会得到1条评论。

您在COMMENTS表中是否有NEWSID的标识符? 然后你应该使用这个来检索多个评论。