Hola, no consigo que me funcione una sentencia SQL para actualizar unos campos de una tabla de Clientes (CLIENTS) con datos de otra tabla (Tabla_Clients). He estado mirando otras entradas del Forum que me han orientado en cómo montar la query, pero la verdad que no encuentro porqué no me funciona.
La query la lanzo desde Herramientas>SQL, y es:
UPDATE "CLIENTS","Tabla_Clients"
SET "CLIENTS"."Nom_cli" = "Tabla_Clients"."Nom_cli" ,
"CLIENTS"."NIF_cli" = "Tabla_Clients"."NIF_cli",
"CLIENTS"."Adreça_Social" = "Tabla_Clients"."Adreça_cli",
"CLIENTS"."Pais_Social" = "Tabla_Clients"."Pais_cli",
"CLIENTS"."CP_Social" = "Tabla_Clients"."CP_cli",
"CLIENTS"."Pob_Social" = "Tabla_Clients"."Pob_cli",
"CLIENTS"."Prov_Social" = "Tabla_Clients"."Prov_cli",
"CLIENTS"."Mail_cli" = "Tabla_Clients"."Mail_cli"
FROM "CLIENTS", "Tabla_Clients"
WHERE "CLIENTS"."Codi_cli" = "Tabla_Clients"."Codi_cli"
Y el error que me da es: Unexpected token ,, requires SET in statement [UPDATE "CLIENTS",]
Muchas gracias
Maite
[RESUELTO] SQL para actualizar campos de una tabla
[RESUELTO] SQL para actualizar campos de una tabla
Última edición por mferrete el Vie Sep 13, 2019 7:46 pm, editado 1 vez en total.
Apache OpenOffice 4.1.7
Re: SQL para actualizar campos de una tabla
Buenas!
A primera vista, y sin ser ningún lince en SQL, parece que te sobra el nombre de la segunda tabla (y la coma) en el inicio de la sentencia: pasaría a
ya que la que actualizas es solo "CLIENTS".
No he hecho pruebas, pero quizá esto resuelva.
Un saludo!
A primera vista, y sin ser ningún lince en SQL, parece que te sobra el nombre de la segunda tabla (y la coma) en el inicio de la sentencia:
Código: Seleccionar todo
UPDATE "CLIENTS","Tabla_Clients"
Código: Seleccionar todo
UPDATE "CLIENTS"
No he hecho pruebas, pero quizá esto resuelva.
Un saludo!
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Libreoffice 6.4.2, en Windows 10
Re: SQL para actualizar campos de una tabla
Sugiero que guarda una copia de la base de datos antes de ejecutar este comando.
Código: Seleccionar todo
UPDATE "CLIENTS"
SET "CLIENTS"."Nom_cli" = (SELECT "Nom_cli" FROM "Tabla_Clients" WHERE "CLIENTS"."Codi_cli" = "Tabla_Clients"."Codi_cli") ,
"CLIENTS"."NIF_cli" = (SELECT ""NIF_cli" FROM "Tabla_Clients" WHERE "CLIENTS"."Codi_cli" = "Tabla_Clients"."Codi_cli"),
"CLIENTS"."Adreça_Social" = (SELECT "Adreça_cli" FROM "Tabla_Clients" WHERE "CLIENTS"."Codi_cli" = "Tabla_Clients"."Codi_cli"),
"CLIENTS"."Pais_Social" = (SELECT "Pais_cli" FROM "Tabla_Clients" WHERE "CLIENTS"."Codi_cli" = "Tabla_Clients"."Codi_cli"),
"CLIENTS"."CP_Social" = (SELECT "CP_cli" FROM "Tabla_Clients" WHERE "CLIENTS"."Codi_cli" = "Tabla_Clients"."Codi_cli"),
"CLIENTS"."Pob_Social" = (SELECT "Pob_cli" FROM "Tabla_Clients" WHERE "CLIENTS"."Codi_cli" = "Tabla_Clients"."Codi_cli"),
"CLIENTS"."Prov_Social" = (SELECT "Prov_cli" FROM "Tabla_Clients" WHERE "CLIENTS"."Codi_cli" = "Tabla_Clients"."Codi_cli"),
"CLIENTS"."Mail_cli" = (SELECT "Mail_cli" FROM "Tabla_Clients" WHERE "CLIENTS"."Codi_cli" = "Tabla_Clients"."Codi_cli")
WHERE "CLIENTS"."Codi_cli" IN (SELECT "Codi_cli" FROM "Tabla_Clients")
Re: SQL para actualizar campos de una tabla
Mil gracias, FJCC-ES, ha funcionado correctamente!!
Apache OpenOffice 4.1.7
Re: SQL para actualizar campos de una tabla
Uff, estoy buscando pero no lo encuento...cómo hago para poner [RESUELTO] en el asunto??
Apache OpenOffice 4.1.7
Re: SQL para actualizar campos de una tabla
Como se ha podido comprobar, no soy ningún lince en SQL....
En cuanto a resolver el tema (título):
Primer mensaje que escribiste, editar y escribes [RESUELTO] delante del título que habías puesto en un principio.
Otro saludo!
En cuanto a resolver el tema (título):
Primer mensaje que escribiste, editar y escribes [RESUELTO] delante del título que habías puesto en un principio.
Otro saludo!
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Libreoffice 6.4.2, en Windows 10