Sql 多次选择查询多个表
我有两个表:Sql 多次选择查询多个表,sql,select,Sql,Select,我有两个表:注释和用户。我将用户名保存在注释表中,但用户的化身详细信息应取自用户表 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\u ID。(例如news.php?id=5) 我设法编写了这段代码,但它只从数据库中获取“最后一条评论”
注释
和用户
。我将用户名保存在注释
表中,但用户的化身详细信息应取自用户
表
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\u ID
。(例如news.php?id=5
)
我设法编写了这段代码,但它只从数据库中获取“最后一条评论”的详细信息,而不是全部。(假设有5个人在页面上发表了评论,它只得到最后一条(第5条)评论,忽略了其余的。)
有人能帮我吗
Ps.Yorumcu的意思是“评论者”
COMMENTS.Commenter
和Username
是相同的。您的WHERE子句是否应该不是“WHERE c.news_id=?”,而不是“WHERE c.id=?”?我假设c.id对于每条评论都是唯一的。试试这个:
select c.id, c.tarih, c.yorum, c.yorumcu, avatarID
FROM COMMENTS,USERS
where USERS.Username=c.yorumcu and c.id = ?
我假设COMMENTS.id是表COMMENTS的唯一标识符 如果是这种情况,那么逻辑上,您只返回1条注释 COMMENTS表中是否有NEWSID的标识符?
那么你应该用这个来检索多条评论。我现在觉得自己很愚蠢。非常感谢。我正在检查评论ID而不是新闻ID。我们快要发疯了…谢谢你的努力。在我将c.id更改为c.news\u id后,上面的查询非常有效。