-- Intermediate: Combined census demographics by neighbourhood
-- Joins neighbourhoods with census data for demographic analysis
-- Grain: One row per neighbourhood per census year

with neighbourhoods as (
    select * from {{ ref('stg_toronto__neighbourhoods') }}
),

census as (
    select * from {{ ref('stg_toronto__census') }}
),

demographics as (
    select
        n.neighbourhood_id,
        n.neighbourhood_name,
        n.geometry,
        n.land_area_sqkm,

        -- Use census_year from census data, or fall back to dim_neighbourhood's year
        coalesce(c.census_year, n.census_year, 2021) as census_year,
        c.population,
        c.population_density,
        c.median_household_income,
        c.average_household_income,
        c.median_age,
        c.unemployment_rate,
        c.pct_bachelors_or_higher as education_bachelors_pct,
        c.average_dwelling_value,

        -- Tenure mix
        c.pct_owner_occupied,
        c.pct_renter_occupied,

        -- Income quintile (city-wide comparison)
        ntile(5) over (
            partition by c.census_year
            order by c.median_household_income
        ) as income_quintile

    from neighbourhoods n
    left join census c on n.neighbourhood_id = c.neighbourhood_id
)

select * from demographics
