FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Consulta de SQL Insert into + Select + from + Where
Buenas tardes gente, como les va? vengo a hacer una consulta.. es la siguiente..
tengo 3 tablas.. Tabla 1 - tabla 2 - tabla 3 con campos similares. y una tabla final y necesito copiar los campos de cada una de las tablas [1,2,3] e insertarla en un solo registro. en tabla final. que seria Tabla final - registro 1 - campo 1 2 3 4 5 de tabla 1 | campo 1 2 3 4 5 de tabla 2 | campo 1 2 3 4 5 de tabla 3 registro 2 - campo 1 2 3 4 5 de tabla 1 | campo 1 2 3 4 5 de tabla 2 | campo 1 2 3 4 5 de tabla 3 y asi sucesivamente. tengo esto, con 2 tablas.
pasa lo siguiente, cuando 1 de las tablas esta vacia, no hace la consulta, pero es lo que quiero evitar; que las tablas sean independiente, pero que los datos se inserten en un solo registro en la tabla final... espero haberme explicado y puedan ayudarme. Gracias de antemano.. saludos. Última edición por asdbernardo fecha: 06-09-2012 a las 00:06:51. Razón: etiqueta delphi |
#2
|
|||
|
|||
Hola: Estuve mirando tu consulta y me quede pensando... ¿Es necesario que teniendo los datos en la tabla1, tabla2 y tabla3 juntes todo en una tabla4, es decir, estas duplicando registros y eso es como medio innecesario.
Por otra parte puedo indicarte el uso de Join para realizar tu consulta y dependera de cuales valores son los que queres que aparezcan si tienen o no correspondencia. Por ejemplo
En ese caso trae todos los registros de la tabla1 o sea la de la izquierda tenga correspondencia o no con la tabla derecha y
es el caso inverso, o sea la de la derecha. Resultado: suponte que en una tabla cliente la relacionas con deudas por Left join y si ese cliente no tiene registros en deudas los valores a mostrar serian completados con null. Por Ejemplo (lo pongo como codigo para que diferencies los campos).- Código:
Id Apellido Nombres NroCta IdCte Deuda 1 Perez Roberto 221 1 2300 2 Gomez Jesus 225 null null 3 Gonzalez Juan 227 3 850 Con las tres tablas seria
Espero que me hallas entendido algo y por ahí resuelves lo que necesitabas. Igualmente me parece poco eficiente que repitas o dupliques los datos en una tabla final (A menos que sea imprescindible para algo).- Primero proba la consulta a traves del select sin el insert para ver si tenes todos los datos que necesitas y despues realiza las modificaciones para que inserte Saludos Última edición por MartinS fecha: 06-09-2012 a las 04:50:52. |
#3
|
|||
|
|||
Gracias amigo, por tu respuesta me parece bien lo que planteas, lo que pasa es que como veras son tablas temporales porque trabajo en un modulo de importacion de datos captados a traves de un archivo txt para sistematizar una porcion de trabajo y disminuir el margen de error al tipear valores.. las tablas1,2,3 las vacio cuando la inserto a importacion final que esta compuesta por los campos de t1t2t3, con fecha final de importacion y fecha final del dia, porque debo cerrarlo.. una vez cerrado ya no puedo ingresar mas datos de ese dia por seguridad. y por eso basicamente t1t2t3 son como temporales.. pero probare eso que me escribiste.. lo otro que pense fue en crear 3 tablas finales individuales y las 3 temporales y luego buscaria 1 registro por registro.. pero bueno probare y te cuento como me fue.. muchas gracias.. Saludos.
PD: estoy empezando con sql .. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Insert, select | bosterito | SQL | 3 | 04-08-2008 12:29:28 |
Como hacer un Select, Insert, Update, Delete en SQL Server | BlueSteel | MS SQL Server | 11 | 19-07-2007 10:02:42 |
Insert con Select | salvica | SQL | 8 | 03-05-2006 22:01:17 |
insert into tabla values (select *... ¿? | jorgesl | SQL | 15 | 11-04-2006 21:29:08 |
Problema conuna consulta select...not in (select ...) | VRO | Firebird e Interbase | 2 | 11-08-2005 08:56:35 |
|