如果列C包含字符串'ebook',則需要一個SQL查詢來從列A中進行選擇。否則,從B列我需要一個SQL查詢,選擇列A或B,具體取決於列C中字符串的存在
所以選擇這樣的:
IF (Table.ColumnC = "ebook") SELECT Table.ColumnA AS Publisher
ELSE SELECT Table.ColumnB AS Publisher
如果列C包含字符串'ebook',則需要一個SQL查詢來從列A中進行選擇。否則,從B列我需要一個SQL查詢,選擇列A或B,具體取決於列C中字符串的存在
所以選擇這樣的:
IF (Table.ColumnC = "ebook") SELECT Table.ColumnA AS Publisher
ELSE SELECT Table.ColumnB AS Publisher
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
在MySQL中,你可以把它寫這樣:
SELECT IF(Table.ColumnC = 'ebook', Table.ColumnA, Table.ColumnB) AS Publisher FROM Table...
如果您有多種可能性,那麼請致電CASE..WHEN..THEN..ELSE..END
。
這些答案都正確嗎?這個看起來更像英語。 – LXXIII
他們都完美地工作。這只是一種風格差異 – EoinS
您顯示的語法圖不是您使用的「CASE」形式。你沒有'case-expression'。 – Barmar