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

Chuyển đổi Oracle SQL Select thành PostgreSQL select

Đây là truy vấn của bạn được viết lại bằng cú pháp 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

(+) là cú pháp LEFT OUTER JOIN cụ thể của Oracle. Để xóa nó, sẽ yêu cầu mỗi USER_INSTANCE.instance_number sẽ phải có các giá trị cho cả ba chế độ quy trình:PLANNING, SETUP và OUTPUT - bỏ qua một và abx_apo_number sẽ không được hiển thị trong đầu ra.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để ghi khung dữ liệu vào bảng Postgres mà không cần sử dụng công cụ SQLAlchemy?

  2. Vui lòng đề xuất tùy chọn xóa hàng loạt tốt nhất

  3. Trả về mảng năm theo phạm vi năm

  4. rake db:structure:dump không thành công trong PostgreSQL / Rails 3.2

  5. Làm thế nào để hiển thị kết quả postgresql trong ejs bằng cách sử dụng nút pg?