试图找到一个可以找到匹配行的查询。
我有一张名为like的表:
id|UserId|LikeUserId|Date|
查询以检索所有喜欢我的人:
SELECT * FROM ve_wholikes l
JOIN ve_users u ON l.UserId=u.UserId
WHERE l.LikeUserID = '$loginid_session'
查询以检索我喜欢的所有人:
SELECT * FROM ve_wholikes l
JOIN ve_users u ON l.LikeUserId=u.UserId
WHERE l.UserID = '$loginid_session'
找出匹配的每一行的查询是什么(我喜欢他们和他们喜欢我)?
答案 0 :(得分:2)
您可以在ve_wholikes
上加入UserId = LikeUserId
表格,反之亦然,以寻找相互喜欢的内容。
SELECT l1.*, u.* FROM
ve_wholikes l1
INNER JOIN ve_wholikes l2 ON l1.UserId = l2.LikeUserId AND l1.LikeUserId = l2.UserId
INNER JOIN ve_users u ON l1.LikeUserId = u.UserId
WHERE l1.UserId = ?;
ve_users
表中的记录将是喜欢您的用户。我刚刚选择了一个ve_wholikes
表。如果您需要查看他们喜欢您的日期,您也可以从l2
中选择列。