sql >> Database teknologi >  >> RDS >> Mysql

MYSQL - Inner Join med EFTER OPDATERING i tabel

Fra kommentarer ser det ud til, at du blot har brug for en Inner Join mellem jobPost og users tabel på emailTeacher .

Også nogle kolonner fra Select manglede i sammenligning med Insert klausul; Jeg har tilføjet dem i den rigtige rækkefølge.

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 ;



  1. 3 ting at vide om databaser

  2. Nye funktioner i SQL Server 2017 (Database Engine)

  3. Udviklerværktøjer til direkte adgang til databaser

  4. Hvordan tæller man elementer ved hjælp af gener_series()-ækvivalent i MySQL?