Enregistrements non compris dans une jointure SQL
5 messages
• Page 1 sur 1
-

sureau - WRInaute discret

- Messages: 195
- Inscription: 7 Mar 2005
Enregistrements non compris dans une jointure SQL
Bonjour, j'ai actuellement une table articles et une table articles_categories. Chaque article peut se retrouver dans plusieurs catégories (par exemple un hôtel peut ressortir dans la catégorie hotel, hotel 3 étoiles, promotions d'hotels...)
J'ai donc une jointure entre 2 tables pour retrouver pour une catégorie tous les enregistrements y figurant, par exemple : "select idarticle from articles_categories, articles where idarticle=id and idcategorie=5"
Jusqu'ici pas de problème.
Il se peut qu'un article ne se retrouve dans aucune catégorie (pour un lien dans un article ou un complément d'un autre article). je souhaiterais donc avec une requête lister tous les enregistrements sans catégorie assignée, et c'est là que je sèche. Comment je peux faire une jointure entre 2 tables pour ressortir tous les enregistrements ne faisant pas partie de cette jointure?
Merci d'avance
J'ai donc une jointure entre 2 tables pour retrouver pour une catégorie tous les enregistrements y figurant, par exemple : "select idarticle from articles_categories, articles where idarticle=id and idcategorie=5"
Jusqu'ici pas de problème.
Il se peut qu'un article ne se retrouve dans aucune catégorie (pour un lien dans un article ou un complément d'un autre article). je souhaiterais donc avec une requête lister tous les enregistrements sans catégorie assignée, et c'est là que je sèche. Comment je peux faire une jointure entre 2 tables pour ressortir tous les enregistrements ne faisant pas partie de cette jointure?
Merci d'avance
- Selection A
- WRInaute occasionnel

- Messages: 279
- Inscription: 14 Mar 2005
- Code: Tout sélectionner
select A.id from table1 A left join table2 B on A.id= B.id where B.categorie IS NULL
Essaye un truc dans ce style !
-

blman - WRInaute accro

- Messages: 3077
- Inscription: 5 Sep 2003
Un truc comme ça devrait fonctionner. A vérifier dans la doc MySQL, parce que là, c'est du code pondu de mémoire.
- Code: Tout sélectionner
SELECT idarticle FROM articles WHERE id NOT IN (SELECT idcategorie FROM articles_categories)
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
