従業員をジョブに編成するアプリケーションを作成しています。
1 人の従業員が同時に 2 つの仕事に就くことはできません。
すべての従業員は、1 つ以上の資格を持っています。
すべての仕事には、その仕事に必要な 1 つ以上の資格があります。
※全ての業務は人員制となります。
これらはテーブルです:
1. Employees テーブル - すべての人が PID 番号を持っています。
2. 資格テーブル - [ID、名前]。
3. QualificationsOfEmployee - すべての人が複数の資格 [PID, QualificationId] を持つことができます。
4. ジョブ [Id, Name, NumOfEmployee(ジョブに必要な人数)]
5. QualificationsRequireForJob テーブル - [JobId, QualificationId]
ここで、すべてのジョブに対して資格のある従業員 (Jobs.NumOfEmployee に依存) を見つけるためのクエリ/関数を作成したいと思います。秘訣は、おそらくすべての仕事に複数の資格のある従業員がいるということですが、そのうちの何人かは他の仕事に必要になる可能性があります (彼らは多くの資格を持っているため)。
単純なSQL結合やサブクエリではうまくいかないと思います。
何かアイデアはありますか?
どうもありがとう、エラド