0
Comment puis-je mettre à jour la colonne pour la même table avec cette requête:mise à jour MySQL sélection à partir d'une même table
update products
set (related_product_id) =
(
select GROUP_CONCAT(id) from products
INNER JOIN products_cross on products_cross.product_upc = products.upc
WHERE products_cross.related_product_upc = 2631695
)
PRODUITS table avant:
id | upc | related_product_id |
3721 | 2631695 | |
4566 | 37262 | |
3723 | 173615 | |
3724 | 216571 | |
table PRODUITS
après:
id | upc | related_product_id |
3721 | 2631695 | 4566,3723,3724 |
4566 | 37262 | |
3723 | 173615 | |
3724 | 216571 | |
PRODUITS table CROSS:
product_upc | related_product_upc |
37262 | 2631695 |
173615 | 2631695 |
216571 | 2631695 |
Ce que vous essayez de mettre à jour.Sur quelle base. S'il vous plaît expliquer – Arora20
Fournissez vos définitions de table pour mieux comprendre votre schéma –
Je ne voulais pas imploser des produits ID basés sur une autre table (products_cross). Non, la requête actuelle ne fonctionne pas: "Vous ne pouvez pas spécifier la table cible 'lc_products' pour la mise à jour dans la clause FROM" ou "# 1064 - Vous avez une erreur dans votre syntaxe SQL, consultez le manuel correspondant à votre version du serveur MariaDB pour la bonne syntaxe à utiliser près de '(related_product_id) = ( ) Sélectionnez GROUP_CONCAT (id) à partir des produits INNER JOIN' à la ligne 2 – JoeDoe