-122 COLUMN OR EXPRESSION IN THE SELECT LIST IS NOT VALID
説明
SELECT ステートメントに、以下のいずれかのエラーがあります。
- ステートメントの SELECT 文節に列名および集約関数が含まれていますが、GROUP BY 文節がありません。
- SELECT 文節 (おそらくはスカラー関数内) には列名が含まれていますが、
GROUP BY 文節には含まれていません。 グループ化式は、SELECT リストで使用されます。グループ化式は、グループごとに 1 つの
値のみを指定します。このコンテキストで指定されたグループ化式は、重大でないブランクを除き、GROUP BY 文節で指定されたグループ化式と完全に一致していなければなりません。
重要: GROUP BY 文節なしで指定される HAVING 文節は、列のない GROUP BY を暗黙指定します。したがって、SELECT 文節では列名は使用できません。
- SELECT 文節には、式が指定されていますが、GROUP BY 文節には指定されていません。
- ORDER BY 文節に sort-key-expression が指定されて、 結果表にグループ化データが入っていますが、select-clause および ORDER BY 文節には、 グループ化データと非グループ化データが混在しています。 グループ化式は、ORDER BY 文節の sort-key-expression で使用されます。 グループ化式は、グループごとに 1 つの 値のみを指定します。このコンテキストで指定されたグループ化式は、重大でないブランクを除き、GROUP BY 文節で指定されたグループ化式と完全に一致していなければなりません。
システムの処置
このステートメントを処理することはできません。
プログラマーの応答
以下のようにして、ステートメントを訂正することができます。
- SELECT 文節にある列または式を GROUP BY 文節に組み込む。または
- SELECT 文節からその列または式を除去する。
SQLSTATE
42803