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句を追加しようとしています。

4

3 に答える 3

3
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

こうやってみる

于 2012-08-22T11:11:26.800 に答える
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
于 2012-08-22T11:11:10.247 に答える
2

WHERE句ステートメントの後にGROUP BYステートメントを配置する必要があります

于 2012-08-22T11:12:21.373 に答える