2017-04-24 61 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中的列。

相關問題