Eu tenho as duas tabelas a seguir:
Table1
----------
ID Name
1 A
2 B
3 C
Table2
----------
ID Name
1 Z
Preciso inserir dados de Table1para Table2. Posso usar a seguinte sintaxe:
INSERT INTO Table2(Id, Name) SELECT Id, Name FROM Table1
No entanto, no meu caso, podem existir IDs duplicados em Table2(no meu caso, é apenas " 1") e não quero copiá- los novamente, pois isso geraria um erro.
Posso escrever algo assim:
IF NOT EXISTS(SELECT 1 FROM Table2 WHERE Id=1)
INSERT INTO Table2 (Id, name) SELECT Id, name FROM Table1
ELSE
INSERT INTO Table2 (Id, name) SELECT Id, name FROM Table1 WHERE Table1.Id<>1
Existe uma maneira melhor de fazer isso sem usar IF - ELSE? Quero evitar duas INSERT INTO-SELECTdeclarações com base em alguma condição.

