CREATE TABLE Table_1 (
Id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL ,
EmailId VARCHAR
)
INSERT INTO Table_1 VALUES (1,'[email protected]');
INSERT INTO Table_1 VALUES (3,'[email protected]');
INSERT INTO Table_1 VALUES (4,'[email protected]');
INSERT INTO Table_1 VALUES (7,'[email protected]');
INSERT INTO Table_1 VALUES (8,'[email protected]');
INSERT INTO Table_1 VALUES (9,'[email protected]');
INSERT INTO Table_1 VALUES (11,'[email protected]');
INSERT INTO Table_1 VALUES (12,'[email protected]');
INSERT INTO Table_1 VALUES (13,'[email protected]');
INSERT INTO Table_1 VALUES (14,'[email protected]');
INSERT INTO Table_1 VALUES (15,'[email protected]');
INSERT INTO Table_1 VALUES (16,'[email protected]');
CREATE TABLE Table_2 (
Id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL ,
EmailId VARCHAR
)
INSERT INTO Table_2 VALUES (1,'[email protected]');
INSERT INTO Table_2 VALUES (3,'[email protected]');
INSERT INTO Table_2 VALUES (4,'[email protected]');
INSERT INTO Table_2 VALUES (7,'[email protected]');
INSERT INTO Table_2 VALUES (8,'[email protected]');
INSERT INTO Table_2 VALUES (9,'[email protected]');
INSERT INTO Table_2 VALUES (11,'[email protected]');
INSERT INTO Table_2 VALUES (12,'[email protected]');
INSERT INTO Table_2 VALUES (13,NULL);
INSERT INTO Table_2 VALUES (14,NULL);
INSERT INTO Table_2 VALUES (15,'[email protected]');
INSERT INTO Table_2 VALUES (16,'[email protected]');
Eu tenho duas tabelas em sqlite como Table_1
eTable_2
Preciso atualizar todo o Table_1 EmailIds
uso table_2 EmailIds
com base nas condições abaixo
condição-1)
- precisa atualizar quando Table_1 EmailId<>table_2 EmailId (para todas as linhas)
condição-2)
- Se Table_2 EmailId for nulo, não é necessário atualizar esse valor nulo em Table_1 EmailId particular
de acordo com as tabelas acima com minha exigência, quero a saída abaixo:--
1) Desejo atualizar 4,7,8,9,11,12 Id's
2) Não quero atualizar 1,3,15,16 Id's (porque os mesmos e-mailids em ambas as tabelas)
3) Não quero atualizar 13,14 Id's (porque 13, 14 emailid são valores nulos na Tabela_2)
Para o problema acima, escrevi a consulta abaixo no MYSQL e no SQL Server está funcionando bem, mas no sqlite não está funcionando.
Descobri que o Joins não funcionará na instrução Update no sqlite, mas quero uma solução alternativa. Alguém pode me ajudar por favor?
UPDATE Newcontacts n
JOIN DummyContacts d ON (n.Id=d.Id)
SET n.EmailId=d.EmailId
WHERE n.EmailId<>d.EmailId
OR d.EmailId IS NOT NULL
1 respostas