SELECT
user_groups.*,
groups.grp_display_name,
CASE user_groups.uug_active
WHEN '1' THEN 'YES'
WHEN '0' THEN 'NO'
END AS usr_active
FROM
user_groups,
groups
WHERE
user_groups.uug_is_deleted = 0
AND user_groups.group_id = groups.id
这是我针对sql的case语句.....但是问题是我无法在搜索查询中使用别名。
例如:这是我的搜索查询
ug.uug_active LIKE "+ Query.escapeVal('%'+Query.escape(body.search.value)+'%')
最佳答案
您不能在where子句中使用别名,只能在group by或haveing子句中使用。您有2个选择:
在where子句中重复完整的大小写结构,并过滤表达式:...where case ... end like ...
过滤hading子句,或移动查询而不过滤到子查询中,然后过滤外部查询。
尽管在此特定示例中,我将在应用程序级别将搜索表达式转换为1或0,然后搜索0或1,而不是字符串。
关于mysql - 我想在MySQL中使用if -else语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33886786/