-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