таблицы: Компании и задачи. Задачи ссылаются на компании.
Пытаюсь выбрать все компании, где количество задач на них ссылающихся больше нуля. Есть такой код:
1 companies::table
2 .left_join( tasks::table.on(companies::id.eq(tasks::company_id) ))
3 .filter( count(tasks::id).ne(0) )
~~~~~~~~~~~~~~~~~~~~~~
4 .select( companies::all_columns )
5 .get_results:<models::Company>(&connection)
Компилятор ругается на 3 строчку, ошибка на скриншоте.
Насколько я понял, это должно сгенерировать следующий SQL:
SELECT companies.*
FROM companies
LEFT JOIN tasks ON tasks.company_id = companies.id
WHERE COUNT(tasks.id) > 0;
Но, что то идет не так. Как можно использовать count в фильтрах в дизеле?
https://github.com/diesel-rs/diesel/issues/1781#issuecomment-408936208
А предполагаемый SQL сам по себе работает?
Обсуждают сегодня