初投稿です。よろしくお願いいたします。
2つのテーブルをマッチングし、クロス表を作成する方法はネット上で多数見受けられたのですが、3つ以上のテーブルをマッチングする方法を見つけることが出来ませんでした。
以下、例になります。今後クラブが増えた場合の対策等は考えないものとします。
(ベンダー:Oracle)
【例】以下のstudent、affiliation、clubマスタの3つを元に、各生徒が各部活に所属している場合には'1'を、所属していない場合には'0'を表示する表(所属表)を作りたい。
<studentマスタ:StudentMaster >
生徒番号StudentId 生徒氏名StudentName
1 田中太郎
2 鈴木一郎
3 高橋花子
4 後藤良子
<affiliationマスタ:AffiliationMaster>
生徒番号StudentId クラブ番号ClubId
1 001
1 003
2 002
3 001
3 003
3 004
4 002
4 005
<clubマスタ:ClubMaster>
クラブ番号ClubId クラブ名ClubName
001 サッカー部
002 野球部
003 手芸部
004 茶道部
005 演劇部
<所属状況>生徒番号StudentId 生徒氏名StudentName サッカー部 野球部 手芸部 茶道部 演劇部
1 田中太郎 1 0 1 0 0
2 鈴木一郎 0 1 0 0 0
3 高橋花子 1 0 1 1 0
4 後藤良子 0 1 0 0 1
技術初心者につき、2テーブルのマッチングまでで行き詰ってしまいました(caseとinを用いたもの。参考:http://pgcafe.moo.jp/new/SQL/index.php)。
どなたかお力をお貸しください。初投稿のため、情報不足等ありましたらご指摘ください。よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー