[RESOLU] Requête SQL sur une table avec recup info sur une autre tabl

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Requête SQL sur une table avec recup info sur une autre tabl

Re: Requête SQL sur une table avec recup info sur une autre

par lecer144 » 22 août 2012, 23:58

Bon bah ca marche pas :(

Unknown column 'vm_product_price.product_id' in 'where clause'

mais ça ça fonctionne :D :

UPDATE vm_product set product_discount_id=0
WHERE product_id IN (SELECT product_id
FROM vm_product_price
WHERE product_price < 30)

Re: Requête SQL sur une table avec recup info sur une autre

par lecer144 » 22 août 2012, 21:57

en fait je voudrais faire l'update en un coup.
j'ai des produits qui ont une remise et je voudrais supprimer cette remise pour tous les produits qui ont un prix inférieur à 30€.
il y en a environ 200 dans ce cas ... je vais en avoir au moins pour 4 ou 5 heures si je dois faire ça produit par produit.
je vais faire une sauvegarde et tenter :

UPDATE vm_product set product_discount_id=0
WHERE (vm_product.product_id = vm_product_price.product_id) AND (vm_product_price.product_price < 30)

Re: Requête SQL sur une table avec recup info sur une autre

par moogli » 22 août 2012, 17:22

salut,

tu peux aussi faire deux requête ;)

sinon la solution qui semble pas mal c'est une procédure stockée qui fait l'update sur la table.

tu ajoute deux trigger pour lancer cette procedure automatiquement à l'insertion et mise à jour dans les deux tables.

comme ça au final tu n'a rien à faire :) (enfin si l'update de la table concernée :) ).

Il est possible d'utiliser la procédure stockée pour qu'elle ne porte que sur un seul produit (histoire de pas mettre à genoux le serveur quand tu change une prix ou ajout un produit).

Question en passant : ce champ est il vraiment utile ? cette condition étant calculable simplement (que ce soit en php ou en SQL).

@+

Requête SQL sur une table avec recup info sur une autre tabl

par lecer144 » 22 août 2012, 16:47

Bonjour,

j'ai une table vm_product qui contient entre autres :

une colonne product_id et une colonne product_discount_id

je voudrais passer la colonne product_discount_id à 0 si le prix du produit < 30 mais le prix du produit se trouve dans une autre table vm_product_price qui contient donc : product_id et product_price

euh ... faire un update dans une table, ça y est je sais faire mais là, sur 2 tables ... ça se complique un peu trop pour moi ...
si une âme charitable pouvait me donner un p'tit coup de main ...

Par avance merci