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

select con insert

Estas en el tema de select con insert en el foro de SQL Server en Foros del Web. buenas noches: tengo 4 tablas tabla1 tabla2 tabla3 tabla4 ------ ------ ------ ------ id cod_id2 cod_id3 cod_id4 con un campo común, id - cod_id2 - ...
  #1 (permalink)  
Antiguo 21/03/2007, 19:32
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
select con insert

buenas noches:

tengo 4 tablas

tabla1 tabla2 tabla3 tabla4
------ ------ ------ ------
id cod_id2 cod_id3 cod_id4

con un campo común, id - cod_id2 - cod_id3 - cod_id4

el campo id puede presentarse con duplicados en tabla2 - tabla3 y tabla4

como puedo crear una tabla desde una consulta donde los registros de la nueva tabla sean los registros de tabla1 (sin duplicados) cuyo id se encuentre en los registros de cualquiera de las otras 3 tablas (tabla2 - tabla3 - tabla4), donde cod_id2, cod_id3 y cod_id4 pueden presentar duplicados en sus respectivas tablas?

trataré de explicarlo mejor con un ejemplo, si tenemos una tabla de clientes unica, y pedidos realizados a tres almacenes, donde un mismo cliente puede realizar pedidos indistintamente a los 3 almacenes (uno o mas pedidos por cliente en los 3 almacenes), como puedo armar la consulta (para volcar en una tabla) de los clientes (sin duplicados) que han realizado algún pedido en alguno de estos 3 almacenes ?

gracias. salu2.
  #2 (permalink)  
Antiguo 22/03/2007, 06:44
Avatar de PosProdukcion  
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 19 años, 5 meses
Puntos: 9
Re: select con insert

El select creo que seria algo asi:

Código:
 Select distinct t1.id
   from tabla1 t1
 where t1.id in (Select cod_id2 from tabla2)
      or t1.id in (Select cod_id3 from tabla3)
      or t1.id in (Select cod_id4 from tabla4)
El Create, no me se como va directamente con el select, pero si haces primero Create Tabla T_ID (id as int)

Luego puedes hacer Insert into T_ID (id) Select ....
  #3 (permalink)  
Antiguo 22/03/2007, 08:58
hgt
 
Fecha de Ingreso: marzo-2007
Mensajes: 2
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: select con insert

A lo anterior solo tienes que agregar un

Into NombreTabla


Es decir

Select distinct t1.id as CampoId
into tablax
from tabla1 t1
where t1.id in (Select cod_id2 from tabla2)
or t1.id in (Select cod_id3 from tabla3)
or t1.id in (Select cod_id4 from tabla4)
  #4 (permalink)  
Antiguo 22/03/2007, 17:59
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
Re: select con insert

buenas noches,
así ha quedado:

SELECT DISTINCT [tabla1].[id] AS CampoId INTO tablax
FROM tabla1
WHERE tabla1.id IN (SELECT cod_id2 FROM tabla2) OR tabla1.id IN (SELECT cod_id3 FROM tabla3) OR tabla1.id IN (SELECT cod_id4 FROM tabla4);

parece ok
gracias.
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 15:24.