De nouveau, besoin de vos conseils pour une jointure svp :)
Bonjour,
Je m'adresse de nouveau à vous ne voulant pas faire de bétises sur ma bdd.
Voila, je dois ajouter une majorations suivant des tailles pour certains produits et certaines conditions.
Je viens de rajouter une collections sur ma base de données mais j'ai plus de 100 nouveau produits (vetements), et j'ai un certain nombre d'attributs pour ceux ci (que je dois pour l'instant rentrer à la main). Alors je me suis dis qu'avec une requete Sql le tour serai joué.
J'ai donc une table "products" et une table "products attributs"
dans la table products j'ai : le prix, l'id du produit et le champ image (qui me permettra de différencier ces produist des autres
Dans la table attributs j'ai l'id du produit, un id d'attribut, le champ option value id (qui identifie le champ) et option value price (qui indique le prix hors tva de la majoration.
Donc le calcul du prix de la majoration ce fait de la sorte.
Le prix de la majoration c'est par exemple 10% du prix du produit - 19.6%
En Francais
Mettre à jour dans la table products_attributes, le champ options_values_price = (le prix du produit (dans la table products) *1.1 - le prix (##donc la majoration##) - la tva)
Quand options_values_id vaut 8 (##par exemple pour la taille 50##)
ET quand l'id produit de la table products_attributes fait parti de la table productsmais n'incluant que les produits dont le champ image a pour valeur 123456789
en sql à ma sauce mais pas certain que ca marche
Code:
1 2 3 4 5 6
| UPDATE `products_attributes` SET `options_values_price` =
((SELECT `products_price` from products) * 1.1 - products_price) *((1-(19,6/100))) WHERE `options_values_id` = 8
WHERE `products_id` IN (SELECT `products_id` FROM `products`
WHERE `products_image`='21321321'); |
Vous en pensez quoi ?
c'est correcte ou bien y a t il des choses à modifier ?
Peut etre on peu améliorer ?
Merci par avance,
Marc:king: