PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Hợp nhất các hàng postgres và thay thế các giá trị bằng giá trị mới nhất khi không rỗng

Nhóm group by organization_core_id để lấy id của các hàng có giá trị cuối cùng không phải null cho slugname và sau đó tham gia vào bảng:

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

Xem bản trình diễn .
Kết quả:

> 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. Chuyển đổi một số nguyên thành Enum trong PostgreSQL

  2. Lỗi khi kết nối với postgresql bằng sqlalchemy

  3. PSQLException:ERROR:lỗi cú pháp trong tsquery

  4. Postgres.app không thể khởi động trên cổng 5432

  5. ActiveRecord - chọn bản ghi đầu tiên từ mỗi nhóm