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

Oracle DB:Trả về truy vấn thứ hai nếu truy vấn đầu tiên trống

Bạn có thể sử dụng WITH để làm cho việc này hoạt động tốt hơn (và dễ bảo trì hơn):

WITH query1 as (
    select 1, 2
    from dual
    where 1=0
    connect by level <= 10
),
query2 as (
    select 3, 4
    from dual
    connect by level <= 10
)
select *
from query1
union all
select *
from query2
where not exists (
    select null
    from query1
);

Như vậy, điều này sẽ trả về 10 hàng từ truy vấn2. Nếu bạn xóa nơi 1 =0 khỏi query1 (khiến nó thực sự trả về các hàng), bạn sẽ nhận được 10 hàng từ query1.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle tạo danh sách các ngày trong tuần IW

  2. Cài đặt ứng dụng khách Oracle Instant vào vùng chứa Docker cho Python cx_Oracle

  3. Sử dụng cơ sở dữ liệu Oracle với xác thực biểu mẫu trong ứng dụng MVC3

  4. đột biến, trình kích hoạt / chức năng có thể không nhìn thấy nó- lỗi trong quá trình thực thi trình kích hoạt

  5. quy trình được lưu trữ để chọn tất cả các hàng từ bảng trong Oracle