Создание предложения Where в MySQL

0
find_by_sql("SELECT s.productcode, s.description, CAST(SUM(l.amount) as UNSIGNED) AS amount FROM softwares s LEFT JOIN licenses l ON s.id=l.software_id GROUP BY s.productcode, s.description WHERE s.supplier= 'softcat'")

У меня в настоящее время есть это, и я получаю ошибку ActiveRecord::StatementInvalid in SoftwaresController#export_softcat

Я пытаюсь добавить предложение where в конце, чтобы выбрать только записи с определенным поставщиком.

Теги:
activerecord
where-clause

3 ответа

2
Лучший ответ
SELECT s.productcode, s.description, CAST(SUM(l.amount) as UNSIGNED) AS amount
FROM softwares s
    LEFT JOIN licenses l ON s.id=l.software_id
WHERE s.supplier = 'softcat'
GROUP BY s.productcode, s.description

Попробуйте это так

2

Вам нужно будет иметь WHERE перед предложением GROUP BY, эффективно меняя SQL следующим образом:

SELECT s.productcode, s.description, CAST(SUM(l.amount) as UNSIGNED) AS amount
FROM softwares s 
LEFT JOIN licenses l ON s.id=l.software_id
WHERE s.supplier= 'softcat'
GROUP BY s.productcode, s.description
1

Вы должны поместить оператор GROUP BY после предложения WHERE

Ещё вопросы

Сообщество Overcoder
Наверх
Меню