我是个初学者,很难使用 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
);
提前谢谢!
2条答案
按热度按时间0sgqnhkj1#
您拥有的不是有效的sql;你需要把你的情况包括在
WHERE
进入CASE
表情。请注意,您还缺少一个FROM
查询中的子句:kmpatx3s2#
在sqlite中,布尔表达式的计算方式为
0
为了FALSE
或者1
为了TRUE
,因此不需要CASE
表达式: