而不是隻檢索滿足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中設計這樣的查詢?
而不是隻檢索滿足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中設計這樣的查詢?
您可以使用CASE語句來實現你所追求的:
SELECT CASE WHEN MyField = Whatever THEN 1 ELSE 0 END AS NewCol
FROM.....
離開了WHERE子句一起。
如果false,布爾值爲0,如果爲true,則爲1。
所以,做你想做的最簡單的方法是:
select t.*,
(<where clause>) as NewCol
from table t;
有沒有這個downvote的原因?或者它只是惡意? – 2014-09-10 13:27:36
用戶詢問相同的問題,他如何將where子句放在列中,而不是引導他的語法,而是告訴他相同的語句,將where子句放在列中。 – 2014-09-11 08:18:56
試試這個:
SELECT ColA, ColB, ColC,
(CASE WHEN ColA = Whatever THEN 1 ELSE 0 END AS WhereColumnResult)
FROM myTable
你能給出一個更具體的例子,我有點不確定你在做什麼試圖去做。 – 2014-09-10 13:17:33