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

cara mencegah duplikat dengan kueri gabungan dalam (Postgres)

Dalam hal ini dimungkinkan untuk menerapkan distinct sebelum join mungkin membuatnya lebih berkinerja:

select fb.* 
from
    formulation_batch fb
    inner join
    (
        select distinct formulationbatch_id
        from formulation_batch_component
        where component_id in (1, 2)
    ) fbc on fb.id = fbc.formulationbatch_id 
where fb.project_id = 1

Perhatikan bagaimana menggunakan alias untuk nama tabel untuk membuat kueri lebih jelas. Kemudian in operator sangat berguna. Penggunaan tanda kutip ganda dengan pengenal tersebut tidak diperlukan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Heroku Terhubung dengan Cakephp v3.0.12

  2. Kueri dinamis dalam fungsi pemicu di PostgreSQL

  3. Menggunakan waktu saat ini di UTC sebagai nilai default di PostgreSQL

  4. Cara mengembalikan tabel berdasarkan tipe baris di PL/pgSQL

  5. Tidak ada batasan unik yang cocok dengan kunci yang diberikan untuk tabel yang direferensikan