-214   AN EXPRESSION IN THE FOLLOWING POSITION, OR STARTING WITH position-or-expression-start IN THE clause-type CLAUSE IS NOT VALID.REASON CODE = reason-code

説明

clause-type 文節の中の式 expression-start の最初の部分が示す 式は、以下のように reason-code が示す理由によって、無効です。
1
SELECT ステートメントの全選択が副選択でない。 このタイプの SELECT ステートメントの ORDER BY 文節では、式は使用できません。 この理由コードは、clause-type が ORDER BY の場合にのみ 表示されます。
2
SELECT 節で DISTINCT が指定されており、ORDER BY 節内の列名または sort-key-expression が、選択リスト内の列名または expression と厳密に一致しない。この理由コードは、clause-type が ORDER BY の場合にのみ 表示されます。
3
選択リストに集約関数が含まれている。あるいは、副選択に GROUP BY 文節が含まれており、式が集約関数ではないか、選択リストの式と厳密には一致しない。
4
ORDER BY 文節に集約関数があることが原因で、グループ化が行われている。この理由 コードは、clause-type が ORDER BY の場合にのみ表示されます。
5
GROUP BY 文節の式が、スカラー全選択を含めることができない。この理由コードは、clause-type が GROUP BY の場合にのみ表示されます。
6
スカラー全選択の無効な使用。この理由コードは、ORDER BY 節にスカラー全選択がある場合、SQL 関数の RETURN ステートメントにスカラー全選択が含まれる場合、または入力パラメーター (IN) として定義されているパラメーターの CALL ステートメントでスカラー全選択が引数として渡される場合に出されます。
8
LISTAGG 関数で DISTINCT が指定され、最初の引数式が WITHIN GROUP 節で指定された ORDER BY の最初のソート・キー式と正確に一致しません。 この理由 コードは、clause-type が ORDER BY の場合にのみ表示されます。

システムの処置

このステートメントを処理することはできません。

プログラマーの応答

reason-code が示す理由に基づいて SELECT ステートメントを変更してください。次の案を使用して、SELECT ステートメントを変更します。
1
式を ORDER BY 文節から除去します。 結果の列の参照を試みる場合は、ソート・キー を simple-integer または simple-column-name フォームに変更してください。 詳しくは、order-by-clauseで ORDER BY 構文図を調べてください。
2
SELECT 文節から DISTINCT を除去します。
3
ORDER BY または GROUP BY 文節の式を集約関数に変更するか、数値列 ID または列名を使用するように文節を変更します。
4
GROUP BY 文節を追加するか、ORDER BY 文節から集約関数を除去します。
5
GROUP BY 文節からスカラー全選択を除去します。
6
ステートメントからスカラー全選択を除去します。
8
DISTINCT が LISTAGG 関数に指定されている場合、ORDER BY が指定されていること、また最初のソート・キー式が LISTAGG の引数に一致していることを確認してください。

SQLSTATE

42822