sql >> Databasteknik >  >> RDS >> Mysql

MYSQL - Inner Join med EFTER UPPDATERING i tabellen

Från kommentarer verkar det som att du helt enkelt behöver en Inner Join mellan jobPost och users tabell, på emailTeacher .

Även några kolumner från Select saknades, i jämförelse med Insert klausul; Jag har lagt till dem i rätt ordning.

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. JSON_EXTRACT() – Returnera data från ett JSON-dokument i MySQL

  2. Gruppera WHERE-satser i Codeigniter

  3. Oracle Sequence värden är inte beställda

  4. vilken mysql-fråga ska jag använda för att välja en kategori som matchar ALLA mina kriterier?