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

Nếu dữ liệu tồn tại, khác ... sử dụng Oracle SQL?

QUERY1
UNION ALL
QUERY2
WHERE NOT EXISTS (QUERY1)

ví dụ:

SELECT id
  FROM products
    UNION ALL 
SELECT  id
  FROM old_products
    WHERE NOT EXISTS (SELECT id  FROM products) 

Truy vấn:

SELECT * 
    FROM Table 
WHERE ID = 7 
    AND Flag = 1
UNION ALL
SELECT * 
    FROM Table 
WHERE ID = 7 
    AND NOT EXISTS (select * from Table where ID = 7 and Flag = 1)

Để xác định các hàng duy nhất, bạn cũng có thể thử cách này:

WITH qry AS
(
    SELECT a.* ,
        ROW_NUMBER() OVER(PARTITION BY id ORDER BY  Flag DESC ) rn
        FROM Table a
    WHERE ID = 7  -- THIS CAN BE PARAMETERIZED
)
SELECT * 
    FROM qry
WHERE rn = 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đăng nhập Nhóm kết nối DBCP Thời gian chờ

  2. Làm cách nào để tách dữ liệu được truy vấn bằng dấu phân cách trong Oracle?

  3. làm thế nào để chèn ngày và giờ trong oracle?

  4. Làm cách nào để bạn chuyển một đối số tới một khối PL / SQL trong một tệp sql được gọi là sử dụng START trong sqlplus?

  5. Sử dụng kết quả Thu thập hàng loạt trong một truy vấn chọn lọc mà không có con trỏ