PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Gabungkan baris postgres dan ganti nilai dengan yang terbaru jika bukan nol

group by organization_core_id untuk mendapatkan id baris dengan nilai bukan nol terakhir untuk slug dan name lalu gabungkan ke tabel:

select
  t.organization_core_id, 
  t1.slug,
  t2.name
from (
  select 
    organization_core_id, 
    max(case when slug is not null then id end) slugid, 
    max(case when name is not null then id end) nameid
  from tablename
  group by organization_core_id
) t 
left join tablename t1 on t1.id = t.slugid
left join tablename t2 on t2.id = t.nameid

Lihat demo .
Hasil:

> organization_core_id | slug           | name      
> -------------------: | :------------- | :---------
>                    1 | dolphin        | Dolphin v2
>                    2 | sea-horse-club | Sea Horse 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Urutan Kunci Utama PostgreSQL hilang setelah migrasi menggunakan AWS DMS

  2. Tangani WAKTU DENGAN ZONA WAKTU dengan benar di PostgreSQL

  3. Bug dalam mekanisme penguncian PostgreSQL atau kesalahpahaman mekanisme

  4. Bagaimana saya bisa menampilkan jika sebuah maskapai berangkat dari semua bandara di DB saya di Postgresql?

  5. Agregat tidak diizinkan dalam klausa WHERE dalam kesalahan postgreSQL