1

重複の可能性:
すべての派生テーブルには独自のエイリアスが必要です

Halo 1 つのテーブルの 2 つの結果を組み合わせて結果を表示できるテーブル レコードを取得しようとしています。そしてチェンジャー(チェンジャーテーブルはチェンジャーでのユーザーアクセシビリティを保存します)をこのテーブルに....ここでは、作成された時間と順序0,5を並べ替えることにより、すべての友達とチェンジャーの更新(承認されている場合)を表示したいと考えています...

私が試していたコードをこれを行うための他の簡単な解決策はありますか

SELECT *
FROM (
        SELECT M.updt_id AS updt_id,
                M.user_id_fk AS user_id_fk,
                M.updates AS updates,
                M.created AS created,
                M.uploads AS uploads
        FROM updatez M
        WHERE updatez.user_id_fk = friends.friendA
                AND friends.friendB = $USER

        UNION

        SELECT A.updt_id AS updt_id,
                changer_id_fk AS changer_id_fk,
                A.updates AS updates,
                A.created AS created,
                A.uploads AS uploads
        FROM updatez A
        WHERE updatez.changer_id_fk = changer.changer_id
                AND changer.user_id = $USER
        ) 
ORDER BY created DESC 
LIMIT 0, 5

あらゆる種類の助けをいただければ幸いです..事前に感謝します ティム

4

1 に答える 1

5

ALIASサブクエリを追加するだけです

SELECT *
FROM (
        SELECT M.updt_id AS updt_id,
                M.user_id_fk AS user_id_fk,
                M.updates AS updates,
                M.created AS created,
                M.uploads AS uploads
        FROM updatez M
        WHERE updatez.user_id_fk = friends.friendA
                AND friends.friendB = $USER

        UNION

        SELECT A.updt_id AS updt_id,
                changer_id_fk AS changer_id_fk,
                A.updates AS updates,
                A.created AS created,
                A.uploads AS uploads
        FROM updatez A
        WHERE updatez.changer_id_fk = changer.changer_id
                AND changer.user_id = $USER
        ) derivedTable                            // -- <<< HERE
ORDER BY created DESC 
LIMIT 0, 5
于 2012-11-27T16:51:42.397 に答える