0

わかりました、これについて助けが必要です。私はこれをあまりにも長く見ていたので、私の脳をいじっていたのかもしれません。テーブルがあります。これを「ゴール」と呼びます。このテーブルには、次の 4 つの列があります。

StaffID の例 (123) Syear の例 (2011) Smonth の例 (7) SGoal の例 (104.2)

私が必要とするのは、会計年度の SGoal 列を合計することです。つまり、ある年の 7 ~ 12 月と翌年の 1 ~ 6 月です。問題は、これをループする必要があることです。つまり、年固有にすることはできません。今後数年間、このクエリを使用して BIZ でレポートを実行します。したがって、クエリを使用するか、何らかの方法でテーブルを変更するかの2つの方法で実行できると思います。いずれにせよ、どんな助けでも大歓迎です。

4

2 に答える 2

0

このようなものは機能しますが、会計年度を保存する方がより適切でエレガントなソリューションになります。

select staffId, fiscal_year, sum(sGoal) from (
select staffid, sGoal, if (sMonth > 6, sYear, sYear-1) as fiscal_year
  from goals ) as fiscal
group by staffId, fiscal_year

SQL フィドル

于 2013-07-12T16:29:54.197 に答える