Update SQL entre deux tables avec 3 ID

Fermé
canon06 Messages postés 72 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 29 août 2016 - Modifié par canon06 le 29/08/2016 à 15:30
forum92 Messages postés 220 Date d'inscription lundi 6 juillet 2015 Statut Membre Dernière intervention 14 août 2018 - 10 juin 2017 à 01:27
Bonjour,

Voilà j'ai deux tables :
- product_lang
- product_lang_2

J'ai besoin de copier ma colonne description_short de product_lang_2 VERS product_lang en conservant bien l'ordre de mes ID car mon site est en multiboutique et en plusieurs langues.

J'ai donc 3 clés :

- id_product
- id-shop
- id_lang

J'ai deux requêtes SQL en tête :

UPDATE ps_product_lang AS A
SET A.description_short=(SELECT description_short FROM ps_product_lang_2 AS B
WHERE A.id_product B.id_product AND A.id_shop B.id_shop AND A.id_lang B.id_lang)
WHERE A.id_product IN (SELECT id_product FROM ps_product_lang_2)
AND A.id_shop IN (SELECT id_shop FROM ps_product_lang_2)
AND A.id_lang IN (SELECT id_lang FROM ps_product_lang_2)
;

-----

UPDATE ps_product_lang
SET description_short = (
SELECT description_short
FROM ps_product_lang_2
WHERE ps_product_lang.id_product = ps_product_lang_2.id_product
AND ps_product_lang.id_shop = ps_product_lang_2.id_shop
AND ps_product_lang.id_lang = ps_product_lang_2.id_lang
);

Si je peux avoir des avis avant de tout casser.

Merci d'avance.
A voir également:

1 réponse

forum92 Messages postés 220 Date d'inscription lundi 6 juillet 2015 Statut Membre Dernière intervention 14 août 2018 133
10 juin 2017 à 01:27
Bonjour,

Pour ma part je partirais sur une procédure pl/sql. cependant ta deuxième requête à l'air juste même si je ne suis pas sur que cela ne pose pas de problème car tu modifies un champs en lui insérant plusieurs données....
Pour ta première requête , il te manque des "=" dans le WHERE.
0