DROP MATERIALIZED VIEW IF EXISTS dm.inactive_users_summary; CREATE MATERIALIZED VIEW dm.inactive_users_summary DISTRIBUTED BY (user_id) AS select du.user_id as user_id, du.name as user_name, du.email as email, du.age as age, COALESCE(e.enrollments_count, 0) as enrollments_count, du.registration_date as registration_date from core.dim_user du left join (select user_id, COUNT(*) as enrollments_count from core.enrollments group by user_id ) e on du.user_id = e.user_id left join core.fact_lesson_views flv on du.user_id = flv.user_id where flv.user_id is null;