Version complète: sur le forum Webmaster Hub : Requête SQL pour oscommerce
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > SQL
Angus
Bonjour,

Avant toute chose, je sais que le Hub n'est pas un forum de support à oscommerce. D'ailleurs j'ai posté la même requête sur le forum français de support. Cependant étant donné qu'il ne s'agit pas directement d'un problème de fonctionnement (panier, paiement etc..) mais bel et bien d'une requête SQL, je me suis permis de poster mon problème ici.

Mais si un modérateur juge que ce sujet n'a pas sa place ici, je comprendrai.

Ceci étant dit, j'expose mon problème.

Je souhaiterai modifier tous les poids de mes produits de la manière suivante : 3000.00 en 3.00

Il faut donc déplacer le point de 3 décimales. Etant donné que ce n'est pas mon domaine, je solicite l'aide d'une personne qui pourrait me donner la requête SQL à effectué pour changer tous mes poids en une fois et ainsi éviter de reprendre 800 produits un par un nonono.gif

D'avance merci

PS : il s'agit d'une version ms2 classique.
Portekoi
SQL
update tatable set poid = poid / 1000


A toi de trouver ou sont stockée les données smile.gif
Angus
Les données sont stockées sur la table products_weight. Cependant tous les produits n'ont pas le même poids. Dnc même en faisant :

CODE
UPDATE products_weight SET poid = poid /1000


Que dois-je mettre à la place de poid ? Dans ton exemple je devais mettre un poids précis non ? Comme par exemple :

CODE
UPDATE products_weight SET 3000.00 = 3000.00 /1000
captain_torche
Non, tu dois renseigner le nom du champ qui contient l'information de poids.
Portekoi
Non, comment s'appelle la colonne contenant le poid?

Admettons, elle s'appelle 'weight', la requete sera :

SQL
UPDATE products_weight SET weight = weight /1000


smile.gif
Angus
Pardon, c'est moi qui ai fait une erreur.

La table s'appelle products et la colonne s'appelle products_weight.

J'ai donc fait ceci :

CODE
UPDATE products SET products_weight = products_weight /1000


Et ça fonctionne parfaitement. Merci Portekoi pour le coup de main et merci captain_torche d'avoir éclairé ma lanterne (je sais elle est facile hypocrite.gif ).

Et juste par curiosité, si un jour je dois faire le contraire, dois-je mettre x1000 à la place de /1000 ?
captain_torche
Il faudra que tu écrives "*1000", le 'x' n'est pas un caractère multiplicateur valide.
Angus
Je comprends. Merci encore smile.gif
Leonick
CITATION(Angus @ mardi 6 novembre 2007 à 18:12) *
Et juste par curiosité, si un jour je dois faire le contraire, dois-je mettre x1000 à la place de /1000 ?
sauf que, si le champ est un entier /1000*1000 ne donnera pas le résultats de départ, du fait des erreurs d'arrondis
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.