Bonjour tout le monde,
je n'arrive pas a formuler mon UPDATE correctement et j'espere que vous savez m'aider. Je vais essayer de vous expliquer ce que j'aimerai faire.
J'ai 3 tableaux:
products
==>products_id
==>products_price
products_to_categories
==>products_id
==>categories_id
categories
==>categories_id
==>parent_id
Dans le premier tableau il y a les produits avec leur prix. Le deuxieme relie les produits a une catégorie et dans le troisieme il y les catégories avec leur parent (c un shop en ligne avec des catégories et sous-categories)
les produits sont tjrs lié a la sous-catégorie qui se trouve le plus bas dans la hiérarchie. Maintenant j'aimerai augmenter le prix des produits qui se trouvent dans une des categories principales et non seulement ceux d'une sous-catégorie.
Ca pose un probleme parce que les produits ne sont pas lié directement aux categories principales mais plutot a la sous-categorie qui, elle est liée a la catégorie principale.
Supposons que la hiérarchie est la suivante:
categories_id=2->categories_id->categories_id->products
La catégorie principale dont je veux changer les prix des produits a l'id 2.
Le produit se trouve donc dans la 2ieme sous-categorie de cette catégorie 2.
Il faudrait donc faire un UPDATE qui change les valeurs des produits dont le parent de la categorie a comme parent la categorie avec l'id 2.
Biensur que ca ne peux pas marcher puisque la catégorie 2 n'est pas relié a un produit mais a une sous-categorie... je n'arrive pas a decrire la condition de mon update.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 UPDATE products, products_to_categories SET products.products_price = '$newPrice' WHERE products_to_categories.categories_id = 2 AND products_to_categories.products_id=products.produc ts_id
Je sais que ca parait compliqué, si qqun a compris ce que j'essaie de dire, vous savez me dire si c'est possible? Et comment. Je travaille desssus depuis 1 journée mais je n'y arrive pas et je ne trouve plus rien sur le Net.
P.S. Si vous n'avez pas tt a fait compris le probleme n'hesitez pas à demander. Je fais de mon mieux mais vu que le français n'est pas ma langue maternelle, ca se peut que je dis des trucs sans sens
Partager