Jag har två tabeller: tbl1 och tbl2. Inga Problem:Överföra data mellan två tabeller
tbl1 innehåller fälten: "ID", "Name" och "Email"
tbl2 innehåller fälten: "ID", "FirstName", "LastName" och "EmailAddress".
En gång i månaden vill jag överföra personer från tbl2 till tbl1. Dock inte personer som redan finns i tbl1 eftersom det då blir dubbletter, alltså endast nytillkomna personer i tbl2 skall överföras. Detta vill jag kolla via epostadressen, då den är unik.
Hur ser koden ut för detta? Måste man använda Inner Join?Sv: Överföra data mellan två tabeller
INSERT INTO tbl1 (ID, Name, Email)
SELECT ID, FirstName & " " & LastName As Name, EmailAddress
FROM tbl2 LEFT JOIN tbl1 ON tbl2.EmailAddress = tbl1.Email
WHERE tbl1.Email IS NULL AND tbl2.EmailAddress IS NOT NULL
Eller om du vil att den själv skall tildela den ett tal. Är det bara att skippa ID fältet:
INSERT INTO tbl1 (Name, Email)
SELECT FirstName & " " & LastName As Name, EmailAddress
FROM tbl2 LEFT JOIN tbl1 ON tbl2.EmailAddress = tbl1.Email
WHERE tbl1.Email IS NULL AND tbl2.EmailAddress IS NOT NULL