Requete croisée

sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 - 18 janv. 2008 à 09:58
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 - 18 janv. 2008 à 14:41
Bonjour,


Je cherche à effectuer une opération dans une base de la façon suivante :

Soit une table PRODUITS :

PRODUIT, CATEGORIE, LIEU_DE_STOCKAGE

et une table LIEUX :

CATEGORIE, LIEU_DE_STOCKAGE

Ma table lieux est remplie initialement, et ma table produits est remplie (sauf  le champ LIEU_DE_STOCKAGE).


Comment puis-je écrire un update (en sql) qui me permettrait de remplir
les champs LIEU_DE_STOCKAGE pour chacun des produits en fonction des
catégories de chaque produit ?


Merci d'avance pour vos réponses.

Simon

3 réponses

Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
18 janv. 2008 à 12:42
si CATEGORIE et LIEU_DE_STOCKAGE sont identiques dans les 2 tables, pourquoi ne pas en mettre qu'un seul?
en plus, on ne connait pas le type des champs et la cle => pas facile de t'aider.

j'aurai plutot utilisé des tables du genre :
Produits(id: int, produit: chaine, categorie: int)
Lieux(id: int, lieu: chaine)
avec Produit.categorie = Lieux.id
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
18 janv. 2008 à 13:59
Sauf votre respect M. Gillemouze... , ce n'est pas vraiment important ici. Peu importe que mon problème soit idiot ou pas (en fait, il l'est surement...), je veux juste savoir s'il existe un script sql qui permet de faire ça, du genre :
update Produits
Set Lieu_de_stockage = ...
(sinon, je suis tout a fait d'accord avec toi)

Simon
0
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
18 janv. 2008 à 14:41
tu peux faire un truc du genre
update (select table1.a as A1, table2.b as B2 from table1, table2 where table1.x table2.x) set A1 B2;
0
Rejoignez-nous