[解決済み] Teradata QueryでMAX()およびMAX() OVER PARTITION BYがエラー3504を発生させる。
2022-03-11 05:14:32
質問
各コースコードの最終修了日、および各従業員の最終修了コースコード全体を含む結果テーブルを作成しようとしています。以下は、私のクエリです。
SELECT employee_number,
MAX(course_completion_date)
OVER (PARTITION BY course_code) AS max_course_date,
MAX(course_completion_date) AS max_date
FROM employee_course_completion
WHERE course_code IN ('M910303', 'M91301R', 'M91301P')
GROUP BY employee_number
このクエリでは、次のようなエラーが発生します。
3504 : Selected non-aggregate values must be part of the associated group
MAX() OVER (PARTITION BY...)の行を削除すると、クエリは正常に実行されるので、問題をその行に分離しましたが、このフォーラムとインターネットを検索しても、何が間違っているのかわかりません。どなたか助けていただけませんか?
解決方法を教えてください。
ポニーさんのコメントにあるように、OLAP関数と集計関数を混在させることはできません。
おそらく、各従業員の最終修了日を取得し、それを3つの対象コースそれぞれの最終修了日を含むデータセットに結合する方が簡単でしょう。
これは未検証のアイデアですが、うまくいけば正しい道を歩むことができるはずです。
SELECT employee_number,
course_code,
MAX(course_completion_date) AS max_date,
lcc.LAST_COURSE_COMPLETED
FROM employee_course_completion ecc
LEFT JOIN (
SELECT employee_number,
MAX(course_completion_date) AS LAST_COURSE_COMPLETED
FROM employee_course_completion
WHERE course_code IN ('M910303', 'M91301R', 'M91301P')
) lcc
ON lcc.employee_number = ecc.employee_number
WHERE course_code IN ('M910303', 'M91301R', 'M91301P')
GROUP BY employee_number, course_code, lcc.LAST_COURSE_COMPLETED
関連
-
[解決済み】 "指定された集約関数を含まないクエリを実行しようとしました。"
-
[解決済み] SQLクエリ「00904. 00000 - "%s: 無効な識別子".
-
[解決済み] SQL Server - 'RETURN'付近の、条件が想定されるコンテキストで指定された、非ブール型の式。
-
[解決済み] DELETE文の競合REFERENCE制約
-
[解決済み] SQLです。最初の出現箇所のみを返す
-
[解決済み] Ruby On Rails で NuoDB を使用して SQL コマンドを手動で実行する方法
-
[解決済み] PostgreSQL - json 型の等値演算子を識別できませんでした。
-
[解決済み] SQLサーバーで文字列をsmalldatetimeデータ型に変換する際、変換に失敗しました(静的値を除く)。
-
[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
-
[解決済み] SQL Server PARTITION BYとGROUP BYの違いについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】CREATE VIEW は、バッチ内の唯一のステートメントでなければなりません。
-
[解決済み] ERROR: 参照されたテーブル "bar" の与えられたキーに一致するユニークな制約がありません。
-
[解決済み] varchar 値 'simple, ' をデータ型 int に変換する際に変換に失敗しました。
-
[解決済み】テキストが切り捨てられた、または1つ以上の文字がターゲットコードページで一致しない アンピボットの主キーを含む
-
[解決済み】単一のクエリで加重平均を計算する
-
[解決済み】ORA-01791: SELECTされた式ではない
-
[解決済み] 2つの列を分割するには?
-
[解決済み] pg_restoreです。[archiver] 入力ファイルはテキスト形式のダンプであるように見えます。psql を使用してください。
-
[解決済み] ORA-04063: ビューにエラーがあります
-
[解決済み] マルチパート識別子をバインドできなかった