お世話になります。
複数レコードのデータを1レコードに集約したいのですが色々試してみましたが上手くいきません。
まず、以下のようなテーブルがあります。
TableA(キーはID)
ID NO
1, 2
TableB(キーはIDとNO)
ID NO SYU_NO FUKU_NO
1, 1, 1, 1
1, 2, 1, 2
1, 3, 2, 1
2, 1, 1, null
・
・
TableC(キーはIDとKUBUNとNO)
ID KUBUN(SYU or FUKU) NO START END KAKUNIN
1, 1, 1, 20090101, 20091231, 20090310
1, 1, 2, 20090201, 20091130, 20090310
1, 2, 1, 20090401, 20100331, 20090312
・
・
これを、以下のようなレコードにしたいのですが・・。
ID START(SYU_NO) END(FUKU_NO) START(FUKU_NO) END(FUKU_NO)
1, 20090101, 20091231, 20090401, 20100331
以下のようなselect文を作成しましたが・・。
select
A.ID || ',' ||
case when C.KUBUN = 1 then C.START end || ',' ||
case when C.KUBUN = 1 then C.END end || ',' ||
case when (C.KUBUN = 2 and B.FUKU_NO = C.NO) then C.START end || ',' ||
case when (C.KUBUN = 2 and B.FUKU_NO = C.NO) then C.END end || ',' ||
from
TableA A
inner join
TableB B
on
A.ID = B.ID
and A.NO = B.NO
inner join
TableC C
on
B.ID = C.ID
and ((C.KUBUN = 1 and B.SYU_NO = C.NO)
or (C.KUBUN = 2 and B.FUKU_NO = C.NO))
;
以下のような結果が返ってきます。
ID START(SYU_NO) END(FUKU_NO) START(FUKU_NO) END(FUKU_NO)
1, 20090101, 20091231, ,
1, , , 20090401, 20100331
実は別サイトでも投稿しておりますが回答がなく大変困っております。
どうか宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) vba シート名の一覧を2列に分けるには 5 2023/04/24 08:56
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- Oracle SQL update方法 2 2022/06/22 14:07
- Visual Basic(VBA) ローマ字、ハイフン付きの並び替え ローマ字抽出方法 Excelマクロ 4 2022/04/01 14:10
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
- 英語 不定代名詞"no..."の否定語noの及び範囲について 4 2022/08/04 11:11
- UNIX・Linux Linuxの実行結果を修正したいです。 6 2022/11/22 12:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
単一グループのグループ関数で...
-
AccessのSQL文で1件のみヒット...
-
レコードの更新履歴について
-
【PL/SQL】FROM区に変数を使う方法
-
SQL*Loader Append
-
ORMについて
-
SELECT FOR UPDATE で該当レコ...
-
デフォルトでデータが表示され...
-
BLOB型項目をSQLの検索条件に指...
-
アクセスのレポートでレコード...
-
where句中のtrim関数について
-
データ
-
group byの並び順を変えるだけ...
-
連続したデータを条件とするSQL...
-
【SQL】違うフィールド同士の集...
-
SQL文の構築について教えてくだ...
-
引数によってwhere句を切り替え...
-
SQL文(重複データを省く)
-
トランザクションログを出力せ...
-
Oracle10gからkeySQLで集計データ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
単一グループのグループ関数で...
-
【PL/SQL】FROM区に変数を使う方法
-
SELECT FOR UPDATE で該当レコ...
-
AccessのSQL文で1件のみヒット...
-
アクセスのレポートでレコード...
-
where句中のtrim関数について
-
group byの並び順を変えるだけ...
-
引数によってwhere句を切り替え...
-
SQL*Loader Append
-
SQLで条件にヒットしたレコード...
-
updateで複数行更新したい
-
データ
-
トランザクションログを出力せ...
-
「数字で始まらない」ものを抽...
-
大量レコードをTRUNCATEせずに...
-
osqleditについて
-
BLOB型項目をSQLの検索条件に指...
-
これをSQL文で出来るでしょうか?
-
ACCESS レコードの並び順について
-
【SQL】違うフィールド同士の集...
おすすめ情報