SET @userID := 1;
SELECT 1 AS isSmoker WHERE EXISTS (SELECT SituationID
FROM usersituation
WHERE UserID=@userID
AND SituationID=3);
SQL查询:
SELECT 1 AS isSmoker WHERE EXISTS (SELECT SituationID
FROM usersituation
WHERE UserID=@userID
AND SituationID=3)
MySQL说:1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法 靠近' WHERE EXISTS(选择SituationID FROM usersituation WHERE UserID = @ userID AND'在第1行
这是我收到的错误,但我不知道为什么会这样。
SELECT SituationID FROM `usersituation` WHERE UserID=@userID AND SituationID=3
单独使用时会返回一行。
注意:
如果子查询返回任何值,则查询的目的是 在名为isSmoker的自定义列中返回值为1的一行
答案 0 :(得分:2)
SET @userID := 1;
SELECT 1 AS isSmoker from usersituation WHERE EXISTS ( SELECT SituationID FROM usersituation WHERE UserID=@userID AND SituationID=3);
您可以尝试以上代码。
您忘记了来自关键字。
答案 1 :(得分:0)
据我所知,如果子查询返回结果,则需要查询返回True
。
试试这个:
SELECT CASE WHEN
EXISTS (SELECT SituationID
FROM usersituation
WHERE UserID=@userID
AND SituationID=3)
THEN '1'
END AS isSmoker