Consulta avanzadas de Join
Publicado por Misael (7 intervenciones) el 27/11/2013 14:41:02
Necesito ayuda para poder trabajar miren tengo 2 tablas con la siguiente característica
TABLA 1
TABLA 2
lo que quiero es crea una variable newcodigo y rellenarlo de la siquiente forma si el código1 es numérico remplazar por el cod_sec de la tabla 2 en caso contrario maneter el mismo código como la
TABLA 3
Ojo la Tabla 3 es el resultado de haber modificado la tabla 1 mediante la consulta estuve intentado pero no puedo hacer que la consulta que pego encaje en el campo newcodigo toda la consulta
aquí esta la base de datos que fue desarrollada por mi amigo alex
TABLA 1
1
2
3
4
5
6
7
codigo1 nombre Colegio
12 Lucas Guteber
78 Marco Salecianos
h67 Pedro Salecianos
m90 Pepito Guteber
9 Jacinta alber eisten
k70 Luis simon bolivar
TABLA 2
1
2
3
4
5
codig cod_sec
12 e43
78 r12
9 h78
34 l90
lo que quiero es crea una variable newcodigo y rellenarlo de la siquiente forma si el código1 es numérico remplazar por el cod_sec de la tabla 2 en caso contrario maneter el mismo código como la
TABLA 3
1
2
3
4
5
6
7
codigo1 nombre Colegio newcodig
12 Lucas Guteber e43
78 Marco Salecianos r12
h67 Pedro Salecianos h67
m90 Pepito Guteber m90
9 Jacinta alber eisten h78
k70 Luis simon bolivar k70
Ojo la Tabla 3 es el resultado de haber modificado la tabla 1 mediante la consulta estuve intentado pero no puedo hacer que la consulta que pego encaje en el campo newcodigo toda la consulta
1
2
3
4
5
6
7
8
select codigo,nombre,colegio,codigo from tabla1
where not exists (select 1 from tabla2 where tabla2.codigo =tabla1.codigo)
union
select tabla1.codigo,nombre,colegio,cod_sec from tabla1
inner join tabla2 on tabla1.codigo=tabla2.codigo
where exists (select 1 from tabla2 where tabla2.codigo =tabla1.codigo)
aquí esta la base de datos que fue desarrollada por mi amigo alex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
use bd_prueba
go
create table tabla1
(
codigo char(10),
nombre varchar(30),
colegio varchar(30)
)
insert into tabla1 values('12', 'Lucas' ,'Guteber')
insert into tabla1 values ('78', 'Marco', 'Salecianos')
insert into tabla1 values ('h67' ,'Pedro', 'Salecianos')
insert into tabla1 values ('m90', 'Pepito', 'Guteber')
insert into tabla1 values ('9' ,'Jacinta', 'alber eisten')
insert into tabla1 values ('k70', 'Luis', 'simon bolivar')
create table tabla2
(
codigo char(10),
cod_sec varchar(30),
)
insert into tabla2 values('12', 'e43' )
insert into tabla2 values ('78', 'r12')
insert into tabla2 values ('9' ,'h78')
insert into tabla2 values ('34', 'l90')
go
Valora esta pregunta


0