マネージャの下にある従業員を示すクエリを作成したいとします。
SQL上に5つのテーブルを使用します。
ここに私のデータベースの例があります。
複数のテーブルSQL Serverを使用して階層を再帰的に作成
Department Table
id dept parent
1 HR
2 Financial 1
3 Research 1
4 Loans 2
5 Marketing 3
Role Table
id role parent
1 Commissioner
2 Director 1
3 Manager 2
4 Supervisor 3
5 Staff 4
deptrole Table
id iddept idrole
1 1 1
2 1 2
3 1 3
4 1 4
5 1 5
Biography Table
id name regnumber
1 Bob N1
2 John N2
3 Roxy N3
4 Ian N4
5 Will N5
Employee Table
id IdBio deptrole
1 1 3
2 2 1
3 3 2
4 4 5
5 5 4
時にクエリに、私は、入力されたID(WHERE EMPID = 1)EMPID = 2は、子供がEMPIDであるとき、そのIDが1以下の従業員を示し、それはその後4.and EMPID 5こととなり3-1-5-4。
どうしたのですか?
私はすでに部門の子を示すためのクエリを作成しますが、私はこれらのtogether.iのすべてが、私はこれを行うための手順を知っている唯一のstart.ifする場所を知らない置けばいいのか知らない、私が作ることができます新しいクエリ@PawełDyl –
従業員の間に関係はありません。どのように従業員3-1-5-4の間のリンクを見つけるのですか? – Polux2
私が作る関係は1対多です(役割 - > IdRole、dept - > IdDept)。これは、私が達成したいものです。EmpId "4" = 3-1-5-4 @ Polux2 –