Rechercher valeur dans une table pour en modifier une autre

Rechercher valeur dans une table pour en modifier une autre - SQL/NoSQL - Programmation

Marsh Posté le 14-11-2005 à 12:11:34    

Bonjour,
 
problème basique je suppose, mais voila :
 
j'ai une table du genre :
 
ptdevente - livraison - panel
 
ptdevente le code de l'individu
livraison, les quantités livrées
et panel le fait qu'il appartienne a mon panel (de type 0/1). Tout est a 0 actuellement.
 
A côté de ça j'ai la table qui liste le code ptdevente de l'ensemble des individu du panel.
 
Je voudrais grace a ça implémenter panel : 0 si n'appartient pas à la liste,1 s'il y appartient.
 
comment faire ?
 
merci

Reply

Marsh Posté le 14-11-2005 à 12:11:34   

Reply

Marsh Posté le 14-11-2005 à 13:12:35    

En gros c'est pour faire l'équivalent d'un RECHERCHEV sur Excel.
 
personne ne vois ? Je pensais que c'était du très classique...

Reply

Marsh Posté le 14-11-2005 à 13:48:51    

quel estton SGBD?
tu peux faire un truc du style:

Code :
  1. update tatable set panel=1
  2. where ptdevente in
  3. (select ptdevente from tonautretable)

Message cité 1 fois
Message édité par betsamee le 14-11-2005 à 13:49:09
Reply

Marsh Posté le 14-11-2005 à 15:11:09    

betsamee a écrit :

quel estton SGBD?
tu peux faire un truc du style:

Code :
  1. update tatable set panel=1
  2. where ptdevente in
  3. (select ptdevente from tonautretable)



 
 
Je sens poindre la soluce  :love:  
 
Je suis sous EasyPHP 1.7 - MySQL 4.0.15  (lequel est le SGBD ? je n'en sais rien, étant a demi-analphabète dans ce domaine)
 
Ta syntaxe me parle, je vais essayer queutchose
 
merci


Message édité par Gilgamesh d'Uruk le 14-11-2005 à 15:48:52
Reply

Marsh Posté le 14-11-2005 à 15:54:48    

C'est pas encore ça...
 
#1064 - Erreur de syntaxe près de 'SELECT ptdevente FROM panel)' à la ligne 1
 
Le UPDATE tout seul marche, exemple :
 

UPDATE livraison SET panel = 1 WHERE ptdevente = 25464


 
le SELECT aussi mais les deux ensemble ça plante...  :pfff:  
 
any idea everybody ?
 
merci

Reply

Marsh Posté le 14-11-2005 à 16:16:59    

ta version de mysql etant inferieure a 4.1.X tu ne peux te permettre les requettes imbriquees
essaies plutot:

Code :
  1. Update livraison inner join tonautretable
  2. on livraison.ptdevente=tonautretable.ptdevente
  3. set livraison.panel=1


ca devrait marcher

Reply

Marsh Posté le 14-11-2005 à 19:20:12    

betsamee a écrit :

ta version de mysql etant inferieure a 4.1.X tu ne peux te permettre les requettes imbriquees
essaies plutot:

Code :
  1. Update livraison inner join tonautretable
  2. on livraison.ptdevente=tonautretable.ptdevente
  3. set livraison.panel=1


ca devrait marcher


 
 
Ça marche, merci 1000 fois !
 
POur installer la ver 4.1 est ce que qu'il faut juste executer le fichier d'instal où c'est une manip un peu plus sioux  ? (je dis ça parce que pour passer de 3.x à 4 il m'a fallu tout réinstaller : Easy et MySQL).
 
merci

Reply

Marsh Posté le 14-11-2005 à 20:02:28    

sous windows je sais [as comment ca marche mais j imagine que la derniere version d easy php est livree avec un MySQL >=4.1.X

Reply

Marsh Posté le 15-11-2005 à 15:23:45    

ok je pense donc qu'il faut tout réinstaller (ce qui n'est pas très lourd)
 
merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed