1

IIF()select ステートメントにネストされた関数があり、それぞれの内部にネストされたMAX(). このselect文をGROUP BYに含めてほしいようです。これが私のクエリです:

SELECT 
d2s_loader_performance_tbl.employee_id, 
IIF(d2s_loader_performance_tbl.wk_ending_dt=max(d2s_loader_performance_tbl.wk_ending_dt),"Last Wk",
  IIF(d2s_loader_performance_tbl.wk_ending_dt=max(d2s_loader_performance_tbl.wk_ending_dt)-7,"2 Wks Ago",
    IIF(d2s_loader_performance_tbl.wk_ending_dt=max(d2s_loader_performance_tbl.wk_ending_dt)-14,"3 Wks Ago",
      IIF(d2s_loader_performance_tbl.wk_ending_dt=max(d2s_loader_performance_tbl.wk_ending_dt)-21,"4 Wks Ago")))),
d2s_loader_performance_tbl.hrs_worked, 
d2s_loader_performance_tbl.move_count, 
d2s_loader_performance_tbl.moves_per_hour

FROM d2s_loader_performance_tbl
WHERE d2s_loader_performance_tbl.wk_ending_dt In (
SELECT DISTINCT TOP 4 wk_ending_dt 
FROM d2s_loader_performance_tbl
ORDER BY wk_ending_dt DESC)

GROUP BY 
d2s_loader_performance_tbl.employee_id,
d2s_loader_performance_tbl.move_count, 
d2s_loader_performance_tbl.moves_per_hour

実行すると、次のエラーが表示されます。意味がありません)、次のエラーが表示されます:「GROUP BY 句に集計関数を含めることはできません」

では、アクセスは HE ダブル ホッケースティックで何をしたいのでしょうか? これのポイントは、週末の日付を相対的な用語に変えることです。このレポートは毎週更新されますが、すべてのクエリとレポートを手動で調べて、参照を新しい日付に変更するのにうんざりしています。

ありがとうございました!

4

1 に答える 1

4

クエリの一部をサブセレクト (または別のクエリ) に入れるのはどうですか。このような:

SELECT 
  orig.employee_id, 
  IIF(orig.wk_ending_dt=PreAgg.max_wk_ending_dt),"Last Wk",
    IIF(orig.wk_ending_dt=PreAgg.max_wk_ending_dt)-7,"2 Wks Ago",
      IIF(orig.wk_ending_dt=PreAgg.max_wk_ending_dt)-14,"3 Wks Ago",
        IIF(orig.wk_ending_dt=PreAgg.max_wk_ending_dt)-21,"4 Wks Ago")))),
  orig.hrs_worked, 
  orig.move_count, 
  orig.moves_per_hour
FROM (
  SELECT 
  d2s_loader_performance_tbl.employee_id, 
  max(d2s_loader_performance_tbl.wk_ending_dt) AS Max_wk_ending_dt

  FROM d2s_loader_performance_tbl

  GROUP BY 
  d2s_loader_performance_tbl.employee_id
) PreAgg JOIN d2s_loader_performance_tbl AS orig ON
PreAgg.employee_id=orig.employee_id

WHERE orig.wk_ending_dt In (
  SELECT DISTINCT TOP 4 wk_ending_dt 
  FROM d2s_loader_performance_tbl
  ORDER BY wk_ending_dt DESC)
于 2013-12-31T18:23:41.030 に答える