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

Mengubah Oracle SQL Select menjadi pilihan PostgreSQL

Berikut adalah kueri Anda yang ditulis ulang menggunakan sintaks ANSI-92 JOIN:

  SELECT a.abx_apo_number,
         COUNT(ap1.process_mode) AS NUM_PLANNING,
         COUNT(ap2.process_mode) AS NUM_SETUP,
         COUNT(ap3.process_mode) AS NUM_OUTPUT
     FROM ABX a
LEFT JOIN USER_INSTANCE u ON u.abx_apo_number = a.abx_apo_number
LEFT JOIN ACTIVE_PROCESS ap1 ON ap1.process_instance_number = u.instance_number
                            AND ap1.process_mode = 'PLANNING'
LEFT JOIN ACTIVE_PROCESS ap2 ON ap2.process_instance_number = u.instance_number
                            AND ap2.process_mode = 'SETUP'
LEFT JOIN ACTIVE_PROCESS ap3 ON ap3.process_instance_number = u.instance_number
                            AND ap3.process_mode = 'OUTPUT'
 GROUP BY a.abx_apo_number

(+) adalah sintaks khusus Oracle LEFT OUTER JOIN. Untuk menghapusnya, akan mengharuskan setiap USER_INSTANCE.instance_number harus memiliki nilai untuk mode proses yang ketiganya:PERENCANAAN, SETUP, dan OUTPUT - hilangkan satu, dan abx_apo_number tidak akan ditampilkan dalam output.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pesan 28000:tidak ada entri pg_hba.conf untuk host \xx.xxx.xxx.xxxx\, pengguna \User, database \databasename\, SSL mati

  2. Bisakah saya membagi kueri menjadi beberapa kueri atau membuat paralelisme untuk mempercepat kueri?

  3. Bagaimana saya bisa memasukkan dokumen XML di PostgreSQL di Jawa?

  4. Apa cara tercepat untuk membangun kembali statistik PostgreSQL dari nol/awal dengan ANALYZE?

  5. Bagaimana cara membuat perintah salin terus berjalan di pergeseran merah bahkan setelah fungsi lambda yang memulainya telah habis?