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

3つのテーブルを使用した(My)SQL完全結合

    私の知る限り、MySqlには完全な外部結合はありません。したがって、必要なことを行うには、派生テーブルで個別のIDを取得し、元のテーブルを左結合する必要があります。

    select ids.id,
           ifnull(table1.A, 0) A,
           ifnull(table2.B, 0) B,
           ifnull(table3.C, 0) C,
           ifnull(table1.A, 0) + ifnull(table2.B, 0) - ifnull(table3.C, 0) R
      from 
      (
        select id
          from table1
        union
        select id
          from table2
        union
        select id
          from table3
      ) ids
      left join table1
        on ids.id = table1.id
      left join table2
        on ids.id = table2.id
      left join table3
        on ids.id = table3.id
    


    1. 最初のドロップダウン選択に基づいてHTML/PHPドロップダウンにデータを入力します

    2. MySQL:レコード間の平均間隔

    3. MySQLで特定の値を含む列を検索する

    4. OracleのSQRT()関数