SQL - Insert con numerador externo

   
Vista:

Insert con numerador externo

Publicado por Marcelo (2 intervenciones) el 26/04/2016 14:30:56
Estimados : Tengo esta tabla

TABLA_2
Campo1 Campo2 Campo3
JUAN - XXXX - NULL
JUAN - ZZZZ - NULL
JUAN - PPPP - NULL
LUIS - TTTT - NULL
LUIS - AAAA - NULL
ANA - HHHH - NULL

Realizo esta consulta:

declare @val int
set @inicial = 410

INSERT INTO TABLA_1 SELECT CAMPO1,CAMPO2,
@val+ROW_NUMBER() OVER( partition BY CAMPO1 ORDER by CAMPO1 ) AS Row
FROM TABLA_2


El resultado es

TABLA_1
Campo1 Campo2 Campo3
JUAN - XXXX - 411
JUAN - ZZZZ - 412
JUAN - PPPP - 413
LUIS - TTTT - 414
LUIS - AAAA - 415
ANA - HHHH - 416

COMO PUEDO HACER PARA QUE LA NUMERACION DEL CAMPO3 SEA POR NOMBRE??

TABLA_2
Campo1 Campo2 Campo3
JUAN - XXXX - 411
JUAN - ZZZZ - 411
JUAN - PPPP - 411
LUIS - TTTT - 412
LUIS - AAAA - 412
ANA - HHHH - 413

Muchas Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Insert con numerador externo

Publicado por JAMS (15 intervenciones) el 26/04/2016 21:40:35
prueba lo siguiente es algo muy básico pero es lo que necesitas

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
drop table #tjams 
drop table #nomb
create table  #TJAMS  (campo1 varchar(50),campo2 varchar(50), campo3 int)
declare @cont int=1,@reg int,@nom varchar(50)
 
insert into #TJAMS(campo1,campo2) values('JUAN','XXXX'),('JUAN','ZZZZ'),('JUAN','PPPP'),('LUIS','TTTT'),('LUIS','AAAA'),('ANA','HHHH')
 
 
create table #nomb(id int identity,campo1 varchar(50))
insert into #nomb
SELECT distinct campo1 FROM #TJAMS
 
select @reg=COUNT(*) from #nomb
 
while @cont <=@reg
 
begin
 select @nom=campo1 from #nomb where id=@cont 
 update #TJAMS set campo3=@cont where campo1=@nom
 set @cont=@cont+1
 
end
 
select * from #TJAMS order by campo1


Saludos y suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Insert con numerador externo

Publicado por Marcelo (2 intervenciones) el 11/05/2016 16:04:54
GRACIAS!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar