Borrower.joins("INNER JOIN receivables ON receivables.borrower_id = borrowers.id")
.where("borrowers.type='moulde_b'")
.select(" borrowers.id as id,sum(receivables.amount) as invoice_amount");
из приведенного выше набора результатов я пытаюсь сделать, где условие после оператора select.
Я пытаюсь что-то вроде ниже,
Borrower.joins("INNER JOIN receivables ON receivables.borrower_id = borrowers.id")
.where("borrowers.type='moulde_b'")
.select(" borrowers.id as id,sum(receivables.amount) as invoice_amount").where("receivables.amount = 12323.23");
это действительно можно сделать после выбора, где condtion в столбце SUM.
Используйте ActiveRecord::QueryMethods#having
вместо того, where
:
Borrower.
joins("INNER JOIN receivables ON receivables.borrower_id = borrowers.id").
where("borrowers.type = 'moulde_b'").
select("borrowers.id as id, sum(receivables.amount) as invoice_amount").
group("borrowers.id"). # mandatory for having
having("invoice_amount = 12323.33")
Порядок цепочки этих методов не имеет большого значения, так как AR
равно изменит его при построении реального SQL-запроса.