2016-05-23 43 views

回答

3
Select 
    case when columnC = 'e-book' 
    then columnA 
    else columnB 
    end as Publisher 
from myTable; 

你需要一個case語句

我重新格式化,以幫助說明其工作原理。

基本上案例是標量(每行的行)的IF語句

可以有多個條件WHEN,類似於else if。函數從條件變爲條件,如果沒有條件通過,則使用ELSE值。

有簡單的搜索表單CASE的Documentation

簡單的CASE表達式:

CASE input_expression 
    WHEN when_expression THEN result_expression [ ...n ] 
    [ ELSE else_result_expression ] 
END 

搜索CASE表達式:

CASE 
    WHEN Boolean_expression THEN result_expression [ ...n ] 
    [ ELSE else_result_expression ] 
END 
+0

這些答案都正確嗎?這個看起來更像英語。 – LXXIII

+0

他們都完美地工作。這只是一種風格差異 – EoinS

+1

您顯示的語法圖不是您使用的「CASE」形式。你沒有'case-expression'。 – Barmar

3
select case columnC when 'ebook' then columnA else columnB end as publisher 
from my_table; 
+0

哇。它根本不直觀 – LXXIII

+0

是的,但應該工作.. – scaisEdge

2

在MySQL中,你可以把它寫這樣:

SELECT IF(Table.ColumnC = 'ebook', Table.ColumnA, Table.ColumnB) AS Publisher FROM Table... 

如果您有多種可能性,那麼請致電CASE..WHEN..THEN..ELSE..END

相關問題