Catalina
Catalina

Reputation: 95

Insert into with several select inside

I want to insert into a table values which I take from another table. I am using IBExpert. Something like this:

INSERT INTO employeemove (cdemployeemove,cdclient,datestart,cdclientwhere,cdcateg)
  SELECT gen_id(EMPLOYEEMOVE_NEXTCODE, 1),
  SELECT em.name_code from employee_migration em where em.cdclient = 1,
  SELECT em.fired_date from employee_migration em where em.cdclient = 1,
  cdclientwhere, -- from employeemove
  cdcateg -- from employeemove

Is there a way to do this?

Upvotes: 1

Views: 61

Answers (1)

Gordon Linoff
Gordon Linoff

Reputation: 1269445

Presumably, you want INSERT . . . SELECT:

INSERT INTO employeemove (cdemployeemove, cdclient, datestart, cdclientwhere, cdcateg)
    SELECT gen_id(EMPLOYEEMOVE_NEXTCODE, 1), em.name_code, em.fired_date,
           cdlientwhere, cdcateg
    FROM employee_migration em 
    WHERE em.cdclient = 1;

Edit:

I'm guessing you want something like this:

INSERT INTO employeemove (cdemployeemove, cdclient, datestart, cdclientwhere, cdcateg)
    SELECT gen_id(EMPLOYEEMOVE_NEXTCODE, 1), em.name_code, em.fired_date,
           emo.cdlientwhere, emo.cdcateg
    FROM employee_migration em LEFT JOIN
         employeemove emo
         ON emo.cdclient = em.cdclient
    WHERE em.cdclient = 1;

Upvotes: 4

Related Questions