0

週単位で予測したい。このようなテーブルがあります。

personName, year, week1, ..., week52.

そして、必要な週数に基づいて、翌年を列に追加したいと思います。ある種の選択中の選択。

最終的な選択は次のようになります。

select personName, week1,week2,..., (nextyear)week1,(nextyear)week2,.. from x

翌年を列に移動するにはどうすればよいですか?

4

1 に答える 1

1

列ではなくデータの行を作成したい-あなたが求めている正確な理由から.

この構造のようなもの:

personName Year Week

次に、次のようなクエリを実行できます。

select week from table1 where year=$year-1 and week=$week

または次のような純粋な SQL:

select
    a.personName
    a.week,
    a.year
from
    table1 a
        join table1 b
            on a.personName=b.personName
            and a.week=b.week
            and a.year=b.year-1

ただし、この同様のアプローチは、次のようなテーブルで使用できます。

select
    a.personName
    a.week1,
    a.week2,
    a.week3,
    b.week1,
    b.week2,
    b.week3,
    a.year
from
    table1 a
        join table1 b
            on a.personName=b.personName
            and a.year=b.year-1
于 2012-08-03T08:40:58.800 に答える