¿Alguien sabe por que nos da un error una sentencia UPDATE con INNER JOIN?
Publicado por Sergio (2 intervenciones) el 26/09/2020 19:29:21
Hola a todos:
Tenemos un problema con las descripciones de los productos en un sistema de Prestashop. El caso es que tenemos que conseguir copiar los campos description y description_short en todos los registros cuyo campo id_lang sea distinto a 1, tomándolo de los mismos (description y description_short) en los registros cuyo campo id_lang sí sea 1 (todo en la misma tabla).
Hemos creado una sentencia que en un principio, probada con un SELECT, sí que funciona, pero que cuando la probamos con UPDATE, nos da un error, y no sabemos donde estamos metiendo la pata. La sentencia es:
El error que nos da es #1064 - Algo está equivocado en su sintax cerca 'FROM 'ps_product_lang' tabla
INNER JOIN 'ps_product_lang' tabla2
ON tabla...' en la linea 2
La línea 2 es "FROM 'ps_product_lang' tabla" .... pero no sabemos donde nos equivocamos. ¿Alguien puede ayudarnos? Seguro que es una tontería nuestra, pero ya no controlamos.
Lo olvidávamos: Trabajamos bajo MySQL...
Gracias y un saludo.
Tenemos un problema con las descripciones de los productos en un sistema de Prestashop. El caso es que tenemos que conseguir copiar los campos description y description_short en todos los registros cuyo campo id_lang sea distinto a 1, tomándolo de los mismos (description y description_short) en los registros cuyo campo id_lang sí sea 1 (todo en la misma tabla).
Hemos creado una sentencia que en un principio, probada con un SELECT, sí que funciona, pero que cuando la probamos con UPDATE, nos da un error, y no sabemos donde estamos metiendo la pata. La sentencia es:
1
2
3
4
5
6
UPDATE tabla SET tabla.description = tabla2.description, tabla.description_short = tabla2.description_short
FROM 'ps_product_lang' tabla
INNER JOIN 'ps_product_lang' tabla2
ON tabla.id_product = tabla2.id_product
AND tabla2.id_lang = '1'
AND tabla.id_lang <> tabla2.id_lang;
El error que nos da es #1064 - Algo está equivocado en su sintax cerca 'FROM 'ps_product_lang' tabla
INNER JOIN 'ps_product_lang' tabla2
ON tabla...' en la linea 2
La línea 2 es "FROM 'ps_product_lang' tabla" .... pero no sabemos donde nos equivocamos. ¿Alguien puede ayudarnos? Seguro que es una tontería nuestra, pero ya no controlamos.
Lo olvidávamos: Trabajamos bajo MySQL...
Gracias y un saludo.
Valora esta pregunta


0