PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Jointure externe 3 tables ou plus dans Laravel 8

Vous pouvez le résoudre plus facilement :

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; 

Vous pouvez le trouver dans le violon https://www.db-fiddle.com/f /eJsPZijRnQFGXugLGHnn93/0

REMARQUE :J'ai supposé que les valeurs nulles affichées sous la forme '-' ne sont que le formatage de sortie. Si ce n'est pas le cas, la sortie avec NULL peut être convertie en '-'.

NOTE2 :Je ne sais pas comment convertir en code Laravel/PHP, j'espère que vous auriez une meilleure idée.