SQL と pl/sql のみを使用して、データベース内の候補者と、スキルと空き状況に基づいて適切な求人を照合するタスクがあります。
利用可能な候補者を利用可能な欠員に一致させる次のコードを書くことができました。
DECLARE
CURSOR availableCandidates_cur IS
SELECT * FROM candidate
WHERE candidate.available = 'True';
CURSOR availableJobs_cur IS
SELECT *
FROM position WHERE status = 'Open';
BEGIN
DBMS_OUTPUT.PUT_LINE('Available Candidates with matching vacencies');
FOR availableCandidates_rec IN availableCandidates_cur
LOOP
DBMS_OUTPUT.PUT_LINE('Candidate: ' || availableCandidates_rec.firstName || ' ' || availableCandidates_rec.lastName);
FOR availableJobs_rec IN availableJobs_cur
LOOP
IF (availableCandidates_rec.positionType = availableJobs_rec.positionType) THEN
DBMS_OUTPUT.PUT_LINE(availableJobs_rec.positionName);
END IF;
END LOOP;
END LOOP;
END;
マッチングスキルに基づいて候補者をポジションにマッチングする方法を理解するのに苦労しています。問題のテーブルは
候補スキル
candidateID | skillID
1 | 2
1 | 3
2 | 1
3 | 1
3 | 3
ポジションスキル
positionID | skillID
1 | 1
1 | 3
2 | 1
3 | 2
3 | 3
たとえば、私はそれを出力したいと思います
Candidate 1 Matches
position 3
Candidate 2 Matches
position 2
Candidate 3 Matches
position 2
position 3
最初は間違った道をたどったのではないかと心配しており、それが私の混乱につながっています。
誰かが私を正しい方向に導くのを手伝ってくれれば幸いです。
ありがとう