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

SQL bergabung dengan tanggal terakhir

DISTINCT ON atau temanmu. Ini adalah solusi dengan benar sintaks:

SELECT a.id, b.updated, b.col1, b.col2
FROM   table_a as a
LEFT   JOIN (
   SELECT DISTINCT ON (table_a_id)
          table_a_id, updated, col1, col2
   FROM   table_b
   ORDER  BY table_a_id, updated DESC
   ) b ON a.id = b.table_a_id;

Atau, untuk mendapatkan seluruh baris dari table_b :

SELECT a.id, b.*
FROM   table_a as a
LEFT   JOIN (
   SELECT DISTINCT ON (table_a_id)
          *
   FROM   table_b
   ORDER  BY table_a_id, updated DESC
   ) b ON a.id = b.table_a_id;

Penjelasan terperinci untuk teknik ini serta solusi alternatif di bawah pertanyaan yang terkait erat ini:
Pilih baris pertama di setiap grup GROUP BY?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pernyataan CASE Postgresql - dapatkah saya menggunakan nilai pengembalian CASE dalam SELECT saya?

  2. Apakah database selain Postgres memiliki fitur yang sebanding dengan pembungkus data asing?

  3. Cara Menguji Tanggal yang Tumpang Tindih di PostgreSQL

  4. Membuat aplikasi multi-penyewa menggunakan skema dan Rails PostgreSQL

  5. KESALAHAN:lebih dari satu baris yang dikembalikan oleh subquery yang digunakan sebagai ekspresi