Asu34 Posted October 24, 2019 Share Posted October 24, 2019 Bonjour, j'ai besoin de faire une petite requête SQL afin de mettre à jour les frais de livraison supplémentaire de mes produits (nb : dans BO ce champ ce trouve dans Produits/Livraison puis frais de livraison supplémentaire) qui ont une certaine caractéristiques. Soit je souhaite créer un UPDATE de la table ps_product, définir via SET additional_shipping_cost = XX avec la condition WHERE id_feature = "ID de ma caractéristique" (table ps_feature_product) AND id_feature_value = "id de la valeur de ma caractéristique" (table ps_feature_value) La requête commencée ressemble à : UPDATE ps_product SET additional_shipping_cost = 70 WHERE id_feature = 76 AND id_feature_value = 41941 Mais ça ne marche évidemment pas, manque certainement une jointure ? Auriez-vous une idée ? Merci d'avance, Link to comment Share on other sites More sharing options...
Asu34 Posted October 24, 2019 Author Share Posted October 24, 2019 J'ai constaté qu'il fallait modifier la valeur additional_shipping_cost plutôt dans la table ps_product_shop pour que ces fdp supp. soient pris en compte. Voilà ou j'en suis avec la requête : UPDATE ps_product_shop ps SET ps.additional_shipping_cost = 70 FROM ps_feature_product fp WHERE ps.id_product = fp.id_product AND id_feature_value = 41941 N'ayant pas de niveau en sql, cette dernière ne fonctionne toujours pas... Vous l'aurez sinon compris pour les données : 70 -> montant des frais de port supplémentaire 41941 -> id de la valeur de la caractéristique en condition Help ! Link to comment Share on other sites More sharing options...
ludovicus64 Posted October 25, 2019 Share Posted October 25, 2019 On 10/24/2019 at 4:55 PM, Ric34 said: J'ai constaté qu'il fallait modifier la valeur additional_shipping_cost plutôt dans la table ps_product_shop pour que ces fdp supp. soient pris en compte. Voilà ou j'en suis avec la requête : UPDATE ps_product_shop ps SET ps.additional_shipping_cost = 70 FROM ps_feature_product fp WHERE ps.id_product = fp.id_product AND id_feature_value = 41941 N'ayant pas de niveau en sql, cette dernière ne fonctionne toujours pas... Vous l'aurez sinon compris pour les données : 70 -> montant des frais de port supplémentaire 41941 -> id de la valeur de la caractéristique en condition Help ! Il faut que tu fasses une jointure, la requete devrait ressemble à cela : UPDATE ps_product_shop ps INNER JOIN ps_feature_product fp ON (ps.id_product = fp.id_product AND fp.id_feature_value=41941) SET ps.additional_shipping_cost=70 Louis Link to comment Share on other sites More sharing options...
Asu34 Posted October 28, 2019 Author Share Posted October 28, 2019 Bonjour merci pour ce retour, pour info j'ai résolu mon besoin, en y ajoutant la condition d'un fabricant spécifique, avec la requête suivante : UPDATE ps_product_shop SET additional_shipping_cost = "Montant des frais de livraison supp." WHERE id_product IN ( SELECT id_product FROM ps_product WHERE id_manufacturer = "id du fabricant") AND id_product IN ( SELECT id_product FROM ps_feature_product WHERE id_feature_value = "id de la valeur de la caractéristique") @Eolia : merci pour ton aide Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now