0

这是我的表结构。(fun_friends)

id user_id,friend_id,status,createdat,updatedat
 1    1        2        1      123456  125461
 2    1        3        1      454545  448788
 3    2        4        1      565659  898889
 4    1        5        1      877878  878788

这是user_uploads的表结构

id  user_id parent_id   category_id title   slug    tags    description video_type  source  video_link  video_thumb
 1     2        1              2    fun     fun     ['4','5']  coolvid     1        ytu     link        thumb

我需要显示我朋友的最新上传

你能告诉我如何将这些表连接在一起吗?我试过了

SELECT * FROM fun_friends WHERE (user_id= '".$_SESSION['user_row_id']."' AND  `status` =1) OR (friend_id= '".$_SESSION['user_row_id']."' AND  `status` =1)

它显示了登录用户的所有朋友

4

2 回答 2

0

您可以使用 user_id 字段加入两个表。下面的示例查询将返回一条具有最新 user_uploads.id 的记录。

select * 
from fun_friends a 
inner join user_uploads b on a.user_id = b.user id 
order by b.id desc limit 0,1
于 2013-04-09T02:17:45.953 回答
-1

如何使用UNION获取朋友用户并将其包装在子查询中,该子查询稍后加入另一个表,

SELECT  usr.*
FROM    user_uploads usr
        INNER JOIN
        (
            SELECT  user_ID  AS ID
            FROM    Fun_Friends
            WHERE   friend_ID = 'ID_HERE'
            UNION
            SELECT  friend_ID As ID
            FROM    Fun_Friends
            WHERE   ser_ID = 'ID_HERE'
        ) idList ON usr.user_ID = idList.ID
于 2013-04-09T02:50:24.867 回答