SqlAlchemy Left Join с count

class Employee
    id
    name

class Location
    id
    city

class Work
    id
    employee_id
    location_id

Todo : Левое соединение со счетчиком (включая ноль)

Желаемый результат

    location.city count
    NYC 10
    SFO 5
    CHI 0

Необработанный запрос:

    select location.id, count(work.id) as count
    from location 
    left join work
    on location.id = work.location_id
    group by location.id

SqlAlchemy:

    db_session.query(Location, func.count.work_id).label('count')). \
                filter(location.id == work.location_id). \
                group_by(location._id). \

Как правильно указать столбцы в select при выполнении левого соединения?

9
задан Bharad 28 February 2012 в 07:22
поделиться