一直在绞尽脑汁地寻找一个能找到匹配行的查询。
我有一张桌子叫likes:

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'

要找出匹配的每一行(我喜欢它们&它们喜欢我),需要什么查询?

最佳答案

您可以将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中选择列。

关于php - 如何在Mysql表中找到匹配的数据行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43597940/

10-10 01:59