Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Insertar datos de una Tabla a otra usando where... (https://www.clubdelphi.com/foros/showthread.php?t=72843)

verito_83mdq 15-03-2011 14:45:23

Insertar datos de una Tabla a otra usando where...
 
Saludos a todos!! Como andan??

Les explico lo que quiero hacer, tengo una tabla ciudad con los siguientes campos: ID_Ciudad (auto_increment), Ciudad, Código_Postal, ID_Provincia
esta tiene unas 18000 localidades.

Por otro lado tengo otra tabla Ciudad2 con los mismos campos con 23000 localidades, mi intención es insertar las localidades de esta tabla a la primera tabla de los registros que no estén.

Estoy tratando con esta consulta pero no hay caso:

Código SQL [-]
INSERT INTO ciudad (Ciudad,Codigo_Postal,ID_Provincia) 
SELECT Ciudad,Codigo_Postal,ID_Provincia FROM Ciudad2 where ciudad.Ciudad<>Ciudad2.Ciudad and ciudad.Codigo_Postal<> Ciudad2.Codigo_Postal;

Este es el error que arroja: Unknown column 'ciudad.Ciudad' in 'where clause'

Yo he echo insert de una tabla a otra pero acá lo que cambia es que en el where estoy comparando campos de ambas tablas.

Se puede hacer esto? Yo había pensado en copiar toda la tabla y después borrar los registros repetidos, pero me va a dar mas trabajo.

Desde ya muchas Gracias!!!

Casimiro Notevi 15-03-2011 15:22:33

¿Qué base de datos es?

oscarac 15-03-2011 16:29:59

podria ser mas o menos asi

Código Delphi [-]
 
INSERT INTO ciudad (Ciudad,Codigo_Postal,ID_Provincia) 
SELECT Ciudad,Codigo_Postal,ID_Provincia FROM Ciudad2 where Not exists (Select Ciudad,Codigo_Postal,ID_Provincia from Ciudad2 where 
 ciudad.Ciudad=Ciudad2.Ciudad and ciudad.Codigo_Postal=Ciudad2.Codigo_Postal)

Caro 15-03-2011 17:23:58

Hola, también podría ser algo así:

Código SQL [-]
Insert Into ciudad (Ciudad,Codigo_Postal,ID_Provincia)
Select Ciudad,Codigo_Postal,ID_Provincia From ciudad2
Where Ciudad Not In (Select c2.Ciudad
                     From ciudad2 c2 Inner Join ciudad c1 On (c2.Ciudad=c1.Ciudad and c2.Codigo_Postal=c1.Codigo_Postal))

Saluditos

verito_83mdq 15-03-2011 18:52:54

Cita:

Empezado por Casimiro Notevi (Mensaje 393633)
¿Qué base de datos es?

Siempre se me escapa algún dato , la base es mysql.
Gracias Casimiro.

verito_83mdq 15-03-2011 19:28:59

Hola!! Me anduvo con el código que puso Caro, tardo 8 minutos en realizar la consulta.

El codigo que me dejo oscarac me dice Unknown column 'ciudad.Ciudad' in 'where clause' .

Ahora me tengo que ir a la facultad, pero después quiero ver donde esta el error en la consulta de oscarac, y entender bien la consulta que dejo caro que parece media complicada.

Saludoss y Gracias a los 3!!


La franja horaria es GMT +2. Ahora son las 18:08:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi