案件情報テーブル
案件ID 案件 金額 担当者
------ ---- ----- ------
1 ABC 10000 田中
2 DER 2000 山田
3 TIK 50000 山本
4 IUY 45000 鈴木
5 ZZZ 30000 ほげ
サポートテーブル
案件ID サポート者
------ ----------
1 川北
2 金田
3 小林
3 村上
3 矢島
4 西村
4 梅川
案件情報の金額を、
サポートした人で山分けした金額を取得する
出力結果
案件ID 案件 金額 担当者 山分け額
------ ---- ----- ------ --------
1 ABC 10000 田中 5000
2 DER 2000 山田 1000
3 TIK 50000 山本 12500
4 IUY 45000 鈴木 15000
5 ZZZ 30000 ほげ 30000
create table 案件情報( 案件ID number(1), 案件 char(3), 金額 number(5), 担当者 char(4)); insert into 案件情報 values(1,'ABC',10000,'田中'); insert into 案件情報 values(2,'DER', 2000,'山田'); insert into 案件情報 values(3,'TIK',50000,'山本'); insert into 案件情報 values(4,'IUY',45000,'鈴木'); insert into 案件情報 values(5,'ZZZ',30000,'ほげ'); create table サポート( 案件ID number(1), サポート者 char(4)); insert into サポート values(1,'川北'); insert into サポート values(2,'金田'); insert into サポート values(3,'小林'); insert into サポート values(3,'村上'); insert into サポート values(3,'矢島'); insert into サポート values(4,'西村'); insert into サポート values(4,'梅川'); commit;
select 案件ID,案件,金額,担当者,
金額/ (select 1+count(*) from サポート b
where b.案件ID = a.案件ID) as 山分け額
from 案件情報 a;
相関サブクエリで、 サポートした人の人数を取得してます