コメントから、あなたは単にInner Join
が必要なようです jobPost
の間 およびusers
テーブル、emailTeacher
。
また、Select
の一部の列 Insert
と比較して、欠落していました 句;適切な順序で追加しました。
DELIMITER //
CREATE DEFINER=`root`@`localhost` TRIGGER
trg_jobPost_after_update
AFTER UPDATE ON jobPost
FOR EACH ROW
BEGIN
-- Check if jobStatus is Updated (then only we Insert)
IF ( OLD.jobStatus <> NEW.jobStatus AND
OLD.emailTeacher <> NEW.emailTeacher ) THEN
INSERT INTO jobRequest (userID, name, email, phoneNo,
location, jobID, title, level,
dateFrom, dateTo, description,
jobStatus, emailTeacher, nameTeacher,
locationTeacher, phoneNoTeacher, cv,
gardavetting, linkedin)
SELECT
jobPost.userID
, jobPost.name
, jobPost.email
, jobPost.phoneNo
, jobPost.location
, jobPost.jobID
, jobPost.title
, jobPost.level
, jobPost.dateFrom
, jobPost.dateTo
, jobPost.description
, NEW.jobStatus
, NEW.emailTeacher
, users.nameTeacher
, users.locationTeacher
, users.phoneNoTeacher
, users.cv
, users.gardavetting
, users.linkedin
FROM jobPost
JOIN users ON users.emailTeacher = jobPost.emailTeacher
WHERE jobPost.emailTeacher = NEW.emailTeacher;
END IF;
END //
DELIMITER ;