SQLについて質問させてください。
年 月 売上
------------
2003 4 100
2003 5 200
2002 4 300
上記のようなテーブルがあるばあい
年 月 売上 前年
-----------------
2003 4 100 300
2003 5 200 0
2002 4 300 0
このような結果(前年、同月の売上の数値を
前年列に表示)を得るための View を
作成したいのですが、どうしたら
よいでしょうか。
データベースは Sybase です。
よろしくお願いいたします。
No.2
- 回答日時:
このような単純なテーブルを想定していますが
------------------
Table : SALES
year num
month num
uriage num
-------------------
同じテーブルを別名で参照して、連結すれば希望の表示が得られませんか?
下のselect文では Fromの中で"L"として定義しています。
-------------------------------
SELECT sales.year, sales.month, sales.uriage,l.uriage
FROM sales, sales l
where sales.year=l.year+1 and sales.month=l.month;
-------------------------------
ありがとうございます。
具体的にSQLで示してもらったので
わかりやすかったです。
補足のLeft Joinについても理解できました。
No.1ベストアンサー
- 回答日時:
自己結合を使えばできるでしょう。
SELECT ・・・・ FROM A表 Left Join A表 As 前年
ON A表.年月 = 1年加算(前年.年月)
ポイント(注意点)は
(1) Inner Join ではなく、Left Joinを使用する。(前年のレコードがない場合でもレコードを抽出するため)
(2) 同一の表を別の表として扱うため、エイリアスする。
(3) 結合条件は、単純に A表.年月 = 前年.年月 ではなく、1年加算(または減算)した値で結合する。
日付を加算する関数は、DBMSに依存すると思いますので、ご使用のDBMS(Sybase)でご確認ください。
ありがとうございます。
今、Sybaseの環境がないので
Oracleで試してみましたが大丈夫そうです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) エクセルの日付表示を変換するやり方をご存じの方は教えて下さい。 7 2022/12/28 15:43
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
- Excel(エクセル) GETPIVOTDATAにかんして 1 2022/04/20 21:03
- Excel(エクセル) エクセルについて 8 2023/02/11 07:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
select句副問い合わせ 値の個...
-
GROUP BYを行った後に結合した...
-
select insertで複数テーブルか...
-
SET句内で複数の条件を指定して...
-
oracleの分割delete
-
V$SGAとV$PARAMETERの確認
-
select文でフリーズします。
-
データベースの基礎かもしれま...
-
unionでマージした副問合せを結合
-
2つのテーブル結合
-
SQL 年だけ抽出
-
外部結合とor条件混在の記述方法
-
SELECTの結果で同一行を複数回...
-
unionの結果は集計はできないで...
-
Accessで別テーブルの値をフォ...
-
エクスプローラーで「2つの条件...
-
ファイル書込みで一行もしくは...
-
<SQL>条件付きで最小値レコード...
-
SQLServer 日付が直前のレコー...
-
SQL>UPDATEと同時にその件数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
select insertで複数テーブルか...
-
SELECTの結果で同一行を複数回...
-
MERGE文を単体テーブルに対して...
-
固定値を含む結合と複数テーブ...
-
複数テーブルのMAX値の行データ...
-
他のテーブルを参照した値はupd...
-
unionの結果は集計はできないで...
-
外部結合とor条件混在の記述方法
-
oracleの分割delete
-
SET句内で複数の条件を指定して...
-
SQL GROUPで件数の一番多いレコ...
-
DELETE 文とEXISTSの使い方につ...
-
COUNTの取得方法(?)について...
-
集計後の数値が倍になる
-
SQLの書き方(チェックボックス)
-
unionでマージした副問合せを結合
-
結合と副問い合わせの違い
-
副問い合わせのinsert文
おすすめ情報