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

Laravel8で3つ以上のテーブルを外部結合

    あなたはそれをより簡単な方法で解決することができます:

    select ts recordtime, max(to1) tempout, max(to2) tempoutstamb, max(to3) tempoutstamb2
    from (
      select ts, tempout to1, cast (null as numeric(10,1)) to2, cast (null as numeric(10,1)) to3
      from table1
    union all 
      select ts, null, tempout, null
      from table2
    union all
      select ts, null, null, tempout
      from table3
    ) tt
    group by ts
    order by ts; 
    

    フィドルhttps://www.db-fiddle.com/fにあります。 / eJsPZijRnQFGXugLGHnn93 / 0

    注:「-」として表示されるnull値は単なる出力フォーマットであると想定しています。そうでない場合は、NULLを使用した出力を「-」に変換できます。

    注2:Laravel/PHPコードに変換する方法がわかりません。もっと良いアイデアがあればいいのですが。



    1. MySQLでランダムな行を選択する

    2. コマンドラインからのPostgreSQLCSVインポート

    3. MySQL空間ジオメトリはwktを検証します

    4. このSELECTCONCAT/ GROUP BYクエリを高速化するにはどうすればよいですか?