用户A喜欢用户C帖
表用户:
id_user name
1 A
2 B
3 C
表帖子:
id_post post user_post
15 hi 2
19 how are you 3
23 hello 2
表喜欢:
id_like id_liker liked_post_id liked_user_id
45 1 19 3
从table likes
我显示结果
用户1喜欢属于用户3的帖子19
SELECT liked_user_id,_liker,liked_post_id
FROM likes
WHERE liked_user_id = 3
如何显示下一个
用户A喜欢用户C帖子“你好吗”
我试过,但收到错误:
SELECT name
FROM users as u
LEFT JOIN
(SELECT id_post, post, user_post
FROM posts as p
LEFT JOIN
(SELECT liked_user_id, id_liker, liked_post_id
FROM likes
WHERE liked_user_id = 3
) AS b ON u.id_post = b.liked_post_id
) AS c ON u.id_user = c.user_post
答案 0 :(得分:0)
SELECT liker.name AS liker_name
,liked.name AS liked_name
,p.post
FROM likes AS l
LEFT JOIN Users AS liker ON liker.id_user = l.id_liker
LEFT JOIN Users AS liked ON liked.id_user = l.liked_user_id
LEFT JOIN Posts AS p ON p.id_post = l.liked_post_id
AND l.liked_user_id = p.user_post
WHERE l.liked_user_id = 3
答案 1 :(得分:0)
SELECT u.`name`, v.`name`, p.post
FROM likes
LEFT JOIN Users as u on likes.id_liker=u.id_user
LEFT JOIN Users as v on likes.liked_user_id=v.id_user
LEFT JOIN Posts as p on likes.liked_post_id=p.id_post
WHERE likes.liked_user_id=3