以下の[年度]テーブルと、年度をキーにした[データ]テーブルがあります。
年度ごとに、その年度のデータと、その年度より一つ以上前の最新の1件のデータを取得するようにしたいです。
####[nendo]テーブル
nendo | |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
####[data]テーブル | |
nendo | data |
:-- | :--: |
2 | B |
4 | D |
5 | E |
6 | F |
9 | I |
10 | J |
12 | L |
####求める結果 | |
nendo | current_data |
:-- | :--: |
1 | |
2 | B |
3 | B |
4 | D |
5 | E |
6 | F |
7 | F |
8 | F |
9 | I |
10 | J |
11 | J |
12 | L |
13 | L |
14 | L |
15 | L |
##試したSQL | |
```SQL | |
SELECT |
nendo.nendo, x.data AS current_d, y.data AS before_d
FROM
nendo
LEFT JOIN
data x
ON x.nendo = nendo.nendo
LEFT JOIN
data y
ON y.nendo < nendo.nendo -- ここをどうすればいいかわからない。
データベースはSQLServerです。 急遽仕事を充てられて、細かいバージョンは不明ですので最新のバージョンを想定して回答していただければ問題ありません。 よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー