奇妙なエラーが発生しています。次のようなSQLコードがあります。
SELECT
adverse_reaction_type_id,
SUM(CASE adverse_reaction_type_id WHEN 1 THEN `number` ELSE 0 END ) line,
SUM(CASE adverse_reaction_type_id WHEN 2 THEN `number` ELSE 0 END ) drug
FROM
core_reports_adverse_reactions,
...
WHERE
...
これは、私の MAMP インストールでは正常に機能しますが、リモート サーバーでは機能しません。どこかに設定オプションがあり、動作を停止していると思います。
これは私が得ているエラーです:
GROUP BY 句がない場合、GROUP 列のない GROUP 列 (MIN()、MAX()、COUNT()、...) の混合は不正です。
エラーが何を伝えているかはわかっていますが、問題は、何かでグループ化したくないということです。where ビット (簡潔にするために上記で削除) が一致するすべての結果を取得しSUM()
、number
列の を (句に基づいて、またはいずれline
かとして) 返したいと考えています。drug
CASE
したがって、本質的に、句に一致するものに関係なく、WHERE
私が返したいのは1行だけです:
line | drug
-----------
10 | 32
これを回避する方法はありますか?または何かできる方法はありますGROUP BY nothing
か?