Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/07/2006, 15h13   #1
Futur Membre du Club
 
Inscription : février 2005
Messages : 80
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 80
Points : 19
Points : 19
Par défaut syntaxe requete speciale

Bonjour,

j'ai un soucis pour faire une requete.
voila en gros le schema de mes 2 tables :

table Categorie (ID, libelle)
table Article (ID, libelle, ID_Categorie) ID_Categorie cle etrangere de ID(Categorie)

je voudrais selectionner l'ensemble des articles dont l'ID_Categorie n'est pas present dans la table Categorie.

Je ne vois pas comment faire cette requete.
Merci de me donner un coup de main.
guns17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 15h19   #2
Invité de passage
 
Inscription : décembre 2005
Messages : 14
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 14
Points : 4
Points : 4
Citation:
Envoyé par guns17
Bonjour,

j'ai un soucis pour faire une requete.
voila en gros le schema de mes 2 tables :

table Categorie (ID, libelle)
table Article (ID, libelle, ID_Categorie) ID_Categorie cle etrangere de ID(Categorie)

je voudrais selectionner l'ensemble des articles dont l'ID_Categorie n'est pas present dans la table Categorie.

Je ne vois pas comment faire cette requete.
Merci de me donner un coup de main.
Eh bien je pense que cette simple requete doit faire l'affaire...

select *
from article left outer join categorie on article.id_categorie=categorie.id
where categorie.id is null


Ou, plus lisible mais moins optimal je pense

select *
from article where id_categorie not in
(select id from categorie)
Stbaurl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 15h28   #3
Futur Membre du Club
 
Inscription : février 2005
Messages : 80
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 80
Points : 19
Points : 19
merci stbaurl,
t'as deuxieme proposition correspond à ce que j'attendais.
guns17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 11h13   #4
Membre éprouvé
 
Avatar de chrifo
 
Inscription : juillet 2006
Messages : 445
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 445
Points : 418
Points : 418
Remarque : Quel que soit ton SGBD, lorsque la volumétrie va être importante, la 1ere solution sera - de très très loin - la plus rapide.
J'ai souvent ce type de requête sur des tables de plusieurs millions d'enregistrements, il n'y a pas photo.
chrifo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h34.


 
 
 
 
Partenaires

Hébergement Web