PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Външно съединяване на 3 или повече таблици в Laravel 8

Можете да го разрешите по по-лесен начин:

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; 

Можете да го намерите във fiddle https://www.db-fiddle.com/f /eJsPZijRnQFGXugLGHnn93/0

ЗАБЕЛЕЖКА:Приех, че нулевите стойности, показани като '-', са просто изходно форматиране. Ако това не е така, изходът с NULL може да бъде преобразуван в '-'.

ЗАБЕЛЕЖКА 2:Не знам как да конвертирам в Laravel/PHP код, надявам се, че имате по-добра идея.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да добавя PostgreSQL източник на данни към WildFly 9.0?

  2. тип изпълнение varchar(1) или smallint за съхраняване на състоянието Postgres

  3. Tsrange - Изчисляване на разликата между два диапазона

  4. SequelizeConnectionError:самоподписан сертификат

  5. Персонализиран номер на седмицата на PostgreSQL - първата седмица, съдържаща 1 февруари