Comment insérer des prochaines max valeur à l'aide d'insérer une instruction select

J'ai deux tables. Je veux insérer table1 données dans table2 si les enregistrements de la table table1 ne sont pas présents dans la table2.

Je peux le faire. principal problème avec ma requête.

 create table #Customer
(
ID int,
Name nvarchar(20),
Email nvarchar(20)
)
create table #Customer2
(
ID int,
Name nvarchar(20),
Email nvarchar(20),
Value varchar(20)
)
insert into #Customer values (1,'AAA','[email protected]')
insert into #Customer values (2,'BBB','[email protected]')
insert into #Customer values (3,'CCC','[email protected]')
insert into #Customer values (4,'DDD','[email protected]')
insert into #Customer values (5,'EEE','[email protected]')
insert into #Customer values (6,'FFF','[email protected]')
insert into #Customer values (7,'GGG','[email protected]')
insert into #Customer2 values (3,'x','[email protected]','10001')
insert into #Customer2 values (6,'y','[email protected]','10002')
insert into #Customer2 values (8,'z','[email protected]','10003')
update C2
set C2.Email = C1.Email, C2.Name = C1.Name 
from  #Customer C1
inner join #Customer2 C2  on C2.ID = C1.ID
insert into #Customer2 
select C1.ID, C1.Name, C1.Email, (SELECT MAX(CONVERT(int, Value))+1 from #Customer2
) from  #Customer C1
left join #Customer2 C2 on C2.ID = C1.ID
where C2.ID is null
select ID,value  from #Customer2
drop table #Customer
drop table #Customer2

Le résultat est

valeur de l'id de

3 10001

6 10002

8 10003

1 10004

2 10004

4 10004

5 10004

7 10004

Je veux que la

valeur de l'id de

3 10001

6 10002

8 10003

1 10004

2 10005

4 10006

5 10007

7 10008

S'il vous plaît conseils!

Vous remerciant par anticipation.

  • J'ai une confusion, dans la première déclaration, vous avez dit avoir à insérer des enregistrements de la table table1 à la table2 si pas présent dans la table2. Alors, quelle est la Valeur de la deuxième colonne de la table ?
  • Il y aura des enregistrements existent déjà. Vérifiez dans l'exemple 10001 à travers 10003. maintenant ce que de nouveaux records va insérer devrait avoir une valeur plus grande que la précédente valeur max c'est à dire 10004.
  • Pourquoi ne pouvons-nous pas créer l'identité de la colonne si elle est en auto increment.
  • Exactement, la colonne est utilisée partout et nous voulons y parvenir sans le marquer comme colonne d'identité.