我是一个初学者,现在很难使用CASE
语句。CASE
如果要满足条件(例如segment = '87'
或'30'
),我想在这里使用。我尝试了以下操作,但不起作用。
我可以在某处缺少逗号吗?
WITH status AS
(
SELECT id,
first_day AS 'month'
WHERE segment = '87' CASE
WHEN subscription_start < first_day THEN 1
ELSE 0
END AS is_active_87
WHERE segment = '30' CASE
WHEN subscription_start < first_day THEN 1
ELSE 0
END AS is_active_30
);
提前致谢!
您所拥有的不是有效的SQL;您需要将所包含的条件包括WHERE
在CASE
表达式中。请注意,您FROM
在查询中还缺少一个子句:
WITH status AS
(
SELECT id,
first_day AS 'month',
CASE WHEN segment = '87' AND subscription_start < first_day THEN 1
ELSE 0
END AS is_active_87,
CASE WHEN segment = '30' AND subscription_start < first_day THEN 1
ELSE 0
END AS is_active_30
FROM yourtable
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句