我的任务是根据技能和可用性将我的数据库中的候选人与合适的职位空缺匹配,仅使用 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
我担心我最初可能走错了路,这导致了我的困惑。
如果有人能帮助我朝着正确的方向前进,我将不胜感激。
谢谢