2014-02-19 110 views
1

您好我的sql查询仍然返回其他情况,但我很确定内部选择返回1.代码有什么问题?SQL错误的情况下

SELECT CASE a_from 
WHEN (SELECT a_from REGEXP 'something.com>$' = 1) 
    THEN "S" 
ELSE "T" 
END AS 'HP', a_from FROM article WHERE id =4 
+2

'SELECT CASE WHEN a_from REGEXP'something.com> $ = 1,那么 'S' ELSE 'T' END惠普, a_from从文章WHERE id = 4;' –

+0

比U这么多。这是工作。 :) –

回答

0

一个WHERE我想你在你的内心select语句错过了where

SELECT CASE a_from 
WHEN (SELECT a_from REGEXP where 'something.com>$' = 1) <-- Here 
    THEN "S" 
ELSE "T" 
END AS 'HP', a_from FROM article WHERE id =4 

正如评论说ypercube,你可以尝试这样的:

SELECT CASE WHEN a_from REGEXP 'something.com>$' = 1 
THEN 'S' 
ELSE 'T' END AS hp, a_from 
FROM article WHERE id = 4 ; 
0

你可能会丢失在你内心的选择

(SELECT a_from REGEXP WHERE 'something.com>$' = 1)