PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Outer join 3 ou mais tabelas no Laravel 8


Você pode resolvê-lo de maneira mais fácil:
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; 

Você pode encontrá-lo no violino https://www.db-fiddle.com/f /eJsPZijRnQFGXugLGHnn93/0

NOTA:Eu assumi que os valores nulos exibidos como '-' são apenas formatação de saída. Se esse não for o caso, a saída com NULL pode ser convertida em '-'.

NOTA2:Eu não sei como converter para código Laravel/PHP, espero que você tenha uma ideia melhor.