My SQL code is not returning any results ;(

I’m on calculating churning rates project and when I type in below code, it won’t return any results. What am I doing wrong? Will you all look through my code and see what my problem is?

Thanks in advance!

SELECT *
FROM subscriptions
LIMIT 100;

SELECT MIN(subscription_start), MAX(subscription_start)
FROM subscriptions;

WITH months AS
(SELECT
‘2017-01-01’ as first_day,
‘2017-01-31’ as last_day
UNION
SELECT
‘2017-02-01’ as first_day,
‘2017-02-28’ as last_day
UNION
SELECT
‘2017-03-01’ as first_day,
‘2017-03-31’ as last_day
)

cross_join AS
(SELECT * from subscriptions
CROSS JOIN months);

status AS
(SELECT id, first_day as month
CASE
WHEN (subscription_start < first_day)
AND (subscription_end > first_day
OR subscription_end IS NULL)
AND (segment = 87)
THEN 1
ELSE 0
END AS is_active_87,
CASE
WHEN (subscription_start < first_day)
AND (subscription_end > first_day
OR subscription_end IS NULL)
AND (segment = 30)
THEN 1
ELSE 0
END AS is_active_30
from cross_join)
SELECT * FROM status LIMIT 50;