sql >> データベース >  >> RDS >> Mysql

mysqlで同じテーブルに2回参加するにはどうすればよいですか?

    これらの線に沿った別の結合を使用します:

    SELECT toD.dom_url AS ToURL, 
        fromD.dom_url AS FromUrl, 
        rvw.*
    
    FROM reviews AS rvw
    
    LEFT JOIN domain AS toD 
        ON toD.Dom_ID = rvw.rev_dom_for
    
    LEFT JOIN domain AS fromD 
        ON fromD.Dom_ID = rvw.rev_dom_from
    

    編集

    あなたがしているのは、テーブルに複数回参加することだけです。投稿のクエリを見てください。レビューテーブル(別名rvw)から値が選択され、そのテーブルはドメインテーブルへの2つの参照(FORとFROM)を提供します。

    この時点で、DomainテーブルをReviewsテーブルに左結合するのは簡単なことです。 FORの場合は1回(toDと呼ばれる)、FROMの場合は2回目(fromDと呼ばれる)。

    次に、SELECTリストで、DOMAINテーブルの両方のLEFT JOINSからDOM_URLフィールドを選択し、Domainsテーブルを参照して結合されたそれぞれのテーブルエイリアスでそれらを参照し、ToURLおよびFromUrlとしてエイリアスします。

    SQLでのエイリアシングの詳細については、こちら を参照してください。 。



    1. SQL * Plus/SQLcl出力グリッドに垂直方向の境界線を追加する方法

    2. ストアドプロシージャを実行するためのHibernate4のネイティブOracleConnectionへのハンドルの取得

    3. PHPをアップグレードした後、mysql_*関数を使用できません

    4. 複数の列から最小値を選択するための最良の方法は何ですか?