如何在Mysql表中找到匹配的数据行?

时间:2017-04-24 21:22:17

标签: php mysql sql

试图找到一个可以找到匹配行的查询。

我有一张名为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'

找出匹配的每一行的查询是什么(我喜欢他们和他们喜欢我)?

1 个答案:

答案 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中选择列。