我正在表之间进行联接,以从用户表中获取有关对文章发表评论的人的用户图片。但是,我需要从用户表中获取不同用户(即同时撰写文章的人)的单独图片。 (有充分的理由在一个查询中执行此操作,因为它实际上只是更复杂请求的一部分)。
任何人都可以建议我如何在加入期间从用户表中获取两张用户图片?此代码为我提供了第一张用户图片、评论者的图片或 upic。但我如何才能获得第二张用户图片呢?
commments
id|comment|articleid|userid
1|great article|1|2
article
id|article|userid
1|Restaurant Openings|1
users
id|pic
1|mary.png
2|joe.png
$sql = "SELECT c.comment,c.articleid,c.userid,u.id, u.pic as upic,a.id,
FROM `comments` c
LEFT JOIN `articles` a
ON c.articleid = a.id
LEFT JOIN `users` u
ON c.userid= u.id
WHERE c.id=1";
获取作者照片的单独查询是:
$sqlauthorpic = "SELECT u.pic,u.id from `users` u
WHERE u.id = 1";
感谢您的任何建议。
最佳答案
这次使用 article
表再次加入 users
,因为您正在寻找撰写文章的用户:
SELECT c.comment,c.articleid,c.userid,u.id, u.pic as upic,a.id, w.pic as wpic
FROM `comments` c
LEFT JOIN `articles` a ON c.articleid = a.id
LEFT JOIN `users` u ON c.userid= u.id
JOIN `users` w ON w.id = a.userid
您也可以去掉 LEFT 连接,因为我认为没有文章 (articleid) 就没有评论,没有用户 id 就没有评论。
关于ios - PHP/MySQL : Obtain two items from table in join using different criteria,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48552640/