2017-04-24 38 views
1

一直在试图找到一个将查找匹配行的单个查询。如何在Mysql表中找到匹配的数据行?

我有这样的表叫喜欢:

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

你能分享你的尝试,并告诉我们为什么失败? –

+0

@JayBlanchard:我不知道我应该写什么查询。我正在试图找到一个解决方案在墙上敲我的头。我想过使用“mysql_num_rows”来计算什么......我不知道 –

+0

WHERE l.LikeUserID ='$ loginid_session'AND l.UserID ='$ loginid_session''当你尝试时会发生什么? –

回答

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中的列。

相关问题