requete avec liaison

requete avec liaison - SQL/NoSQL - Programmation

Marsh Posté le 13-06-2006 à 11:28:47    

Bonjour,  
 
J'ai une table CATEGORIE (cat_cle, cat_lib)
une autre SOUSCATEGORIE (scat_cle, scat_lib, scat_categorie) -> scat_categorie = cat_cle
enfin une autre DOCUMENTS (doc_cle, doc_lib, doc_cat) -> doc_cat = cat_cle
 
Je souhaite avoir tous les documents où la sous catégorie est égale à 3, comment je fais?? Je n'y arrive pas ou ça m'affiche rien ou tout...

Reply

Marsh Posté le 13-06-2006 à 11:28:47   

Reply

Marsh Posté le 13-06-2006 à 11:32:23    

Je dirais quelque chose comme :
 

SELECT * FROM documents LEFT JOIN souscategorie ON documents.doc_cat = souscategorie.scat_categorie WHERE souscategorie.scat_cle = 3

Reply

Marsh Posté le 13-06-2006 à 11:44:18    

trop fort... Pourrais-tu me dire en clair la différence entre INNER JOIN + LEFT JOIN et RIGHT JOIN... je ne comprend pas tout dans les docs sur le web

Reply

Marsh Posté le 13-06-2006 à 11:57:06    

heu... :)
 
Bah INNER JOIN je l'utilise jamais, sauf quand vraiment ca marche pas j'essaie :)
Sinon je fais que du LEFT JOIN... En fait, si j'ai bien compris c'est genre :
 
table1 LEFT JOIN table2 ON table1.champ = table2.champ RIGHT JOIN table3 ON table2.champ = table3.champ
 
Mais je suis pas sûr  :D En général j'essaye de me débrouiller avec des LEFT JOIN... Donc voilà, j'ai jamais vraiment trouver de page web expliquant simplement (quoiqu'elles en disent) la différence, donc j'ai tatonné en partant de requetes ultra simple pour comprendre le minimum tout seul...


Message édité par Gadro le 13-06-2006 à 11:57:28
Reply

Marsh Posté le 13-06-2006 à 12:04:03    

en fait ça ne fonctionne pas...
le résultat de ma requete me donne tous les doc de ma table docs. Il ne trie pas par scat_cle...

Reply

Marsh Posté le 13-06-2006 à 13:08:02    

Alors essai dans le sens :
 
SELECT * FROM souscategorie LEFT JOIN documents ON souscategorie.scat_categorie = documents.doc_cat WHERE souscategorie.scat_cle = 3
 
:)

Reply

Sujets relatifs:

Leave a Replay

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