以下に示すように、oracle DBに4つのテーブルがあり、EmployeeリストはオフィスID(m_officeにはオフィスIDとオフィス名が含まれています)にマップされています。すべてのオフィスは、部門または細分のいずれかです。再びすべての細分は部門に属します。最後の表に示されているように、部門別従業員数を調べる必要があります(部門数は従業員も含む必要があります)。4つのSQLテーブルへの結合
(その作業データベースとして、構造を変更することはできません)解決策を見つけることができません。どんな助けも非常に高いです。前もって感謝します。
TEST_EMPLOYEELIST
EmpId EmpName Office_id
--------------------------------
1 Alex O1
2 John O1
3 Bob O3
4 Max O5
5 Nick O5
6 Jack O1
7 Paul O2
TEST_M_OFFICE
office_id office_name
------------------------------
O1 Kamrup Division
O2 Nalbari Division
O3 Barpeta Division
O4 Nalbari RR Subdivision
O5 Barpeta SR Subdivision
O6 Barpeta RR Subdivision
TEST_DIVISION
division_id division_name
-----------------------------------
D1 Kamrup Division
D2 Nalbari Division
D3 Barpeta Division
D4 Bongaigon Division
D5 Rangia Division
TEST_DIV_SUBDIV_MAPPING
subdivision_id subdivision_name division_id
------------------------------------------------------
S1 Nalbari RR Subdivision D2
S2 Barpeta SR Subdivision D3
S3 Barpeta RR Subdivision D3
S4 Rangia RR Subdivision D5
S5 Kamrup RR Subdivision D1
必須:(サブディビジョン数を含む)Division_wiseレコード
division_name count
----------------------------
Kamrup Division 3
Nalbari Division 1
Barpeta Division 3
Bongaigon Division 0
Rangia Division 0
これは私がこれまで試したものです:
select b.office_name,
count(*)
from test_employeelist a,
test_m_office b
where a.officeid = b.office_id
group by b.office_name;
あなたはこれまでに何を試しましたか? –
'select b.office_name、count(*)from test_employeelist a、test_m_office bここでa.officeid = b.office_id グループby b.office_name; ' しかし、それはオフィス単位の詳細だけを与える。私は、TEST_DIV_SUBDIV_MAPPINGテーブルから、部門内のサブディビジョンカウントをマップする方法の解決策を見つけることができません。 –
あなたの質問に上記のコメントを追加してください。 –