Bonjour,
Maintenant j'ai encore une dernière question, dans la structure de ma table le type de "price" est en "decimal(12,4)" comment faire pour arrondir les prix tous les 0,1 car là je me retrouve avec des prix comme 19,72 alors que j'aimerais 19,70?
L'arrondi se fait avec la commande Round.
UPDATE catalog_product_flat_3 SET PRICE = ROUND(COST * 4.44 * Power(COST, -0.1), 1) WHERE ENTITY_ID = 898
1 = Nombre de décimale à retenir après la virgule, les autres positions sont mises à zéro.
Pour le dernier message, je n'ai pas bien compris la question
Je veux que "attibute_id"=99 de "entity_id"=898 soit égal à 2x "attibute_id"=100 de "entity_id"=898
Dans cette table, tu as une colonne COST où le valeur utilisé COST se situe dans une autre table.
Si les éléments sont dans la même table et pour des essais, tu dois utiliser le code suivant
UPDATE catalog_product_flat_3 SET PRICE = ROUND(COST * 4.44 * Power(COST, -0.1), 1) WHERE ENTITY_ID = 898 AND Attribute_ID = 99
Attention, il s'agit Attribute_ID et non Attibute_ID comme il est écrit dans ta demande.
Pour le ligne Attribute_Id = 100, tu feras
UPDATE catalog_product_flat_3 SET PRICE = ROUND(COST * 4.44 * Power(COST, -0.1), 1) WHERE ENTITY_ID = 898 AND Attribute_ID = 100
Maintenant, Price et Cost sont dans des tables différentes, le code proposé ne conviendra pas.
En plus, tu veux calculer les prix de Entity_Id = 898 alors que ceux-ci sont déjà déterminés. Par contre, ceux de Entity_Id = 896 n'y sont pas. Là, je suis perplexe.
Merci d'éclaircir ces points
A+
Partager