Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Generar una tabla nueva en base a otras 2

Estas en el tema de Generar una tabla nueva en base a otras 2 en el foro de SQL Server en Foros del Web. Tengo 2 tablas de 20 registros c/u. No existe ninguna relación entre ellas Tabla 1: 3 campos: A, B y C (La combinación A-B-C no ...
  #1 (permalink)  
Antiguo 30/04/2012, 22:45
 
Fecha de Ingreso: septiembre-2010
Mensajes: 42
Antigüedad: 13 años, 7 meses
Puntos: 0
Exclamación Generar una tabla nueva en base a otras 2

Tengo 2 tablas de 20 registros c/u.
No existe ninguna relación entre ellas

Tabla 1:
3 campos: A, B y C (La combinación A-B-C no se repite)

Tabla 2:
1 campo: D (No hay repetidos)

Necesito armar una query para generar una 3er. tabla con 20 registros también
que tenga los campos: A-B-C-D
(usando solo 1 vez cada valor del campo D, no puedo repetir). Se entiende ??

pense en un producto cartesiano pero eso me devuelve una tabla
de 20 x 20 registros y no es lo que necesito yo...
yo necesito una producto cartesiano "1 a 1" por decirlo de alguna manera.

como se hace ?
se necesita de algun store procedure o lo podemos hacer con una simple query ?

gracias !!!!
  #2 (permalink)  
Antiguo 01/05/2012, 06:36
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Generar una tabla nueva en base a otras 2

podria ser con un union, pero.....podrias poner ejemplos de tus datos???

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 01/05/2012, 07:18
 
Fecha de Ingreso: septiembre-2010
Mensajes: 42
Antigüedad: 13 años, 7 meses
Puntos: 0
Exclamación Respuesta: Generar una tabla nueva en base a otras 2

mm no me suena, union une filas, yo quiero unir con columnas...
  #4 (permalink)  
Antiguo 01/05/2012, 07:35
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Generar una tabla nueva en base a otras 2

bueno pon un ejemplo de tus datos, asi se te puede ayudar porque con lo que pones pues no se entiende mucho...

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 01/05/2012, 07:42
 
Fecha de Ingreso: septiembre-2010
Mensajes: 42
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Generar una tabla nueva en base a otras 2

Tabla 1: (20 regs)
auto-patente-licencia

tabla 2: (20 regs)
conductor (no se repiten)

nueva tabla --> auto-patente-licencia-conductor
(con 20 registros, sin repetir conductores)
  #6 (permalink)  
Antiguo 01/05/2012, 07:55
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Generar una tabla nueva en base a otras 2

y como se ligan los datos?? o de los 20 autos se saca el producto cartesiano con el conductor como sea? por ejemplo si tengo

auto1,patente1, licencia1
auto2,patente2, licencia2
auto3,patente3, licencia3

juan
paco
miguel

tendria
auto1,patente1, licencia1,juan
auto2,patente2, licencia2,miguel
auto3,patente3, licencia3,paco

pero como se que a juan le toca la licencia1?? porque asi como dices se haria un producto cartesiano de 20x20 a menos que haya un campo en comun....

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 01/05/2012, 08:13
 
Fecha de Ingreso: septiembre-2010
Mensajes: 42
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Generar una tabla nueva en base a otras 2

yo quiero que a un registro de la 1er tabla le toque un reg. de la otra tabla (no importa cual) y que esa tabla resultante tenga 20 regs.

es tal cual lo estabas armando vos.
se tienen que ligar 1 a 1, en cualquier orden.

hacer select auto,patente,licencia,conductor from auto,conductor no sirve...
porque eso me devuelve 20 x 20 = 400 regs...
  #8 (permalink)  
Antiguo 01/05/2012, 12:43
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Generar una tabla nueva en base a otras 2

Crea un campo de tipo INT para cada tabla y mediante este, los unes.

Lo malo seria que una tabla tuviera mas registros que otra.
__________________
MCTS Isaias Islas
  #9 (permalink)  
Antiguo 01/05/2012, 13:10
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Generar una tabla nueva en base a otras 2

sip si le pones un numerico a las tablaas si funciona pero lo malo es cuando los numericos no corresponden.... puedes probar con un row_number :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: registro, tabla, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:07.