2014-09-10 62 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 
相关问题