PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Połączenie zewnętrzne 3 lub więcej stołów w Laravel 8

Możesz to rozwiązać w prostszy sposób:

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; 

Znajdziesz go w skrzypcach https://www.db-fiddle.com/f /eJsPZijRnQFGXugLGHnn93/0

UWAGA:Założyłem, że wartości null wyświetlane jako „-” to tylko formatowanie wyjściowe. Jeśli tak nie jest, dane wyjściowe z NULL można przekonwertować na „-”.

UWAGA2:Nie wiem, jak przekonwertować kod Laravel/PHP, mam nadzieję, że masz lepszy pomysł.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie o konkretną kolumnę JSON (postgres) za pomocą sqlalchemy

  2. Surowe zapytanie Railsowe dla formatu csv, które ma zostać zwrócone przez kontroler

  3. Jak połączyć się z postgresql z ios9?

  4. Odpytywanie PostgreSQL o raport Open-High-Low-Close (OHLC)

  5. Zapomniałem hasła administratora w Postgres (instalacja Windows), nie można zresetować