簡體   English   中英

使用 Oracle 如何根據兩個不同的 if 語句有條件地從兩個不同的表中選擇一列?

[英]Using Oracle how do I conditionally select a column from two different tables based on two difference if statements?

我需要有條件地從兩個不同的 if 語句和兩個不同的表中選擇一列。 簡而言之,它在偽代碼中是這樣的:

IF  
    TABLE_A.COLUMN_A = ‘ABC’ THEN TABLE_A.COLUMN_B 
ELSE IF 
    TABLE_B.COLUMN_F <>  0 THEN TABLE_C.COLUMN_C
END IF

有人如何在 Oracle sql 中做到這一點?

TIA

CASE可能會有所幫助,如果這些表以某種方式相關(即您可以JOIN它們( CROSS JOIN是一種選擇嗎?):

select case when a.column_a = 'ABC' then a.column_b 
            when b.column_f <> 0    then c.column_c
       end
from table_a a join table_b b on ...
               join table_c c on ...
where ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM