SQL - INSERT con valores de SELECT

 
Vista:

INSERT con valores de SELECT

Publicado por Hubert Casimiro Taco. (98 intervenciones) el 21/11/2005 23:41:17
Hola otra vez.

(1)- Select campo1, campo2, campo3 FROM TABLA1 Where campo1 = 500

(2)- Select campoX, campoY, campoZ FROM TABLA2 Where campox = 600

(3)- Select campoA, campoB, campoC FROM TABLA3 Where campoA = 50

¿Se puede hacer ? sin crear variables de paso.
INSERT into TABLAFINAL (C1, C2, C3, C4, C5, C6 )
Values (*** algunos de los campos de (1), (2) y (3))

Ejemplo.
INSERT into TABLAFINAL (C1, C2, C3, C4, C5, C6 )
Values (campo1, campo2, campoX, campoY, campoA, campoB)

campo1, campo2 corresponden a (1)
campoX, campoY corresponden a (2)
campoA, campoB corresponden a (3)

Gracias.
Cordialmente.
Hubert Casimiro
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
sin imagen de perfil

RE:INSERT con valores de SELECT

Publicado por Liliana (426 intervenciones) el 24/11/2005 12:51:27
Hola,
No estás aclarando cuál es la relación entre sí de las tablas que formarán la nueva información, por lo que esta propuesta que te envío puede dar resultados no esperados si hay más de una fila que cumple con la condición en cada tabla.

INSERT into TABLAFINAL (C1, C2, C3, C4, C5, C6 )
SELECT campo1, campo2, campoX, campoY, campoA, campob
FROM TABLA1, TABLA2, TABLA3
WHERE campo1 = 500 AND campox = 600 AND campoA = 50

Lo ideal sería:
INSERT into TABLAFINAL (C1, C2, C3, C4, C5, C6 )
SELECT campo1, campo2, campoX, campoY, campoA, campob
FROM TABLA1
INNER JOIN TABLA2 ON ClaveTabla1 = ClaveTabla2
INNER JOIN TABLA3 ON ClaveTabla1 = ClaveTabla3
WHERE campo1 = 500 AND campoX = 600 AND campoA = 50

Saludos,
Liliana.
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

RE:INSERT con valores de SELECT

Publicado por Hubert Casimiro (98 intervenciones) el 24/11/2005 19:32:44
Esta bien la forma ideal., si existe una relacion.
Me sirvio.

Gracias LILIANA
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