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

MySQLのテーブルから列を2回選択する

    テーブルbを2回結合する必要があります。毎回、asを使用して異なるテーブル名(b1、b2)を使用します。

    select *
    from a join b as b1 on a.to = b1.lid 
           join b as b2 on a.from = b2.lid 
    

    したがって、結果は次のようになります

    --------------------------------------------
    |a.uid | a.to | b1.name | a.from | b2.name |
    --------------------------------------------
    |   1  |   1  |  one    |   2    | two     |
    --------------------------------------------
    

    しかし、おそらくあなたが望むのは、名前の衝突を防ぐことです-例えば、 PHPから呼び出します-したがって、列の名前も変更します:

    select a.*, b1.name as toName, b2.name as fromName
    ... (rest of the query as above)
    


    1. datetime-ローカル値が入力タグに表示されない

    2. mariadbコネクタJAurora高速フェイルオーバーの実装

    3. NHibernateがMySqlでのバッチ処理をサポートしないのはなぜですか

    4. SQLServerのエスケープ文字