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 を持つ 1 つのレコードを返します。

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 に答える