La requête ci-dessous fait ce que je veux, mais prend beaucoup de temps pour finir. J'ai essayé de l'écrire avec une jointure intérieure à la place mais ne peut pas comprendre comment le faire. cf_ab_companies.model_id est une valeur unique dans la table. P> Il peut y avoir plusieurs enregistrements où aa_items.customer = 314, mais aa_items.customer = 314 et aa_item.sku = 10 ne peut se produire qu'une seule fois. P> J'espère que vous comprenez ce que je veux dire. Merci pour toute l'aide. p> p>
4 Réponses :
Mettre à jour la syntaxe multiple-table peut être trouvée https: // dev .mysql.com / DOC / REFMAN / 8.0 / FR / UPTATE.HTML
Utilisation de cette requête ressemblerait à P>
UPDATE cf_ab_companies join aaa_items on aaa_items.customer = cf_ab_companies.model_id SET cf_ab_companies.col_330 = aaa_items.amount WHERE aaa_items.sku = 10 ;
Cela a réduit le temps utilisé de 54,2 secondes à 0,81 seconde. Merci beaucoup pour votre aide.
Voici la mise à jour MySQL MySQL ... Joindre ... SET CODE> SYNATAX:
UPDATE cf_ab_companies c
INNER JOIN aaa_items i ON i.customer = c.model_id AND i.sku = 10
SET c.cf_ab_companies.col_330 = i.aaa_items.amount
Merci beaucoup, GMB. Problème semble être résolu par P.Salmon. Je ne comprends pas bien si la jointure intérieure fonctionne différemment de la jointure dans ce cas, cependant.
update cf_ab_companies c join aaa_items a on a.customer = c.model_id set c.col_330 = a.amount where a.sku = 10 ......
Merci beaucoup. Je ne savais pas que je pouvais "abréger" les noms de table comme ça.
Je pense qu'une mise à jour de peut aider:
Ce n'est pas une syntaxe valide pour MySQL.