我正在运行的SQL查询不是我想要的。目前,我在取消s.status
=的情况下吸引客户,但这不太正确。
s.status
可以包含“活动,已取消,活动,已暂停,已取消”之类的信息...即几种不同的状态。
我如何只抓住最后一个状态为“已取消”的客户?
SELECT s.customer_id, GROUP_CONCAT(s.status) AS status_list, GROUP_CONCAT(s.created) AS created_date_list, GROUP_CONCAT(s.start_date) AS start_date_list, max(c.customer_name), max(c.customer_email), max(c.updated_profile), max(p.newsletter_sub)
from imp_subscriptions s
LEFT JOIN imp_customerdata c ON c.user_id = s.customer_id
LEFT JOIN imp_communication_preference p ON c.user_id = p.user_id
WHERE s.status = 'cancelled' AND p.newsletter_sub = 'yes'
GROUP BY customer_id
答案 0 :(得分:3)
where lower(right(rtrim(s.status),9)) = 'cancelled'
答案 1 :(得分:0)
使用like
:
s.status like '%cancelled'
或者,如果您确实想要:
right(s.status, 9) = 'cancelled'