2014-09-10 59 views
0

而不是隻檢索滿足WHERE子句的行,我打算有一個新的結果表列顯示該WHERE子句的結果。例如;如何附加一個顯示該行WHERE子句結果的新結果列?

ColA ColB ColC NewCol 
xxxx xxxx xxxx 1  # where clause is true for that row 
xxxx xxxx xxxx 0  # false for that row 
xxxx xxx xxx 0 
.... 

如何在MySQL中設計這樣的查詢?

+0

你能給出一個更具體的例子,我有點不確定你在做什麼試圖去做。 – 2014-09-10 13:17:33

回答

3

您可以使用CASE語句來實現你所追求的:

SELECT CASE WHEN MyField = Whatever THEN 1 ELSE 0 END AS NewCol 
FROM..... 

離開了WHERE子句一起。

0

如果false,布爾值爲0,如果爲true,則爲1。

所以,做你想做的最簡單的方法是:

select t.*, 
     (<where clause>) as NewCol 
from table t; 
+0

有沒有這個downvote的原因?或者它只是惡意? – 2014-09-10 13:27:36

+0

用戶詢問相同的問題,他如何將where子句放在列中,而不是引導他的語法,而是告訴他相同的語句,將where子句放在列中。 – 2014-09-11 08:18:56

0

試試這個:

SELECT ColA, ColB, ColC, 
(CASE WHEN ColA = Whatever THEN 1 ELSE 0 END AS WhereColumnResult) 
FROM myTable 
相關問題