Я делаю соединение между таблицами, чтобы получить пользовательский рисунок из таблицы пользователей о ком-то, кто комментирует статью. Тем не менее, мне нужно получить отдельную картинку из таблицы пользователей для другого пользователя, человека, который написал статью одновременно. (Существует серьезная причина для этого в одном запросе, поскольку это фактически только одна часть более сложного запроса).
Может ли кто-нибудь предложить, как я мог бы получить две пользовательские фотографии из таблицы users во время соединения? Этот код дает мне первый пользовательский pic, комментарий pic или upic. Но как я могу получить второй пользовательский pic?
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";
Спасибо за любые предложения.
Присоединитесь к users
снова на этот раз с таблицей article
, так как вы ищете пользователя, который написал статью:
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) и без комментариев без userid.