Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
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 27/12/2010, 16h33   #1
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 167
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 22
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 167
Points : 2 304
Points : 2 304
Par défaut Récupération d'information d'une table intermédiaire

Bonjour à tous et à toutes,

Le titre n'est pas très parlant désolé!

Je dispose de 4 tables:
_ commandes (id, cadeau_id)
_ bonbon (id, libelle, id_cmd)
_ caramel (id, libelle, id_cmd)
_ cadeau (id, libelle)

Une commande est soit un bonbon soit un caramel.
Une commande peut posséder un cadeau.
Une commande peut être seulement un cadeau.

La difficulté que j'ai est que j'arrive ainsi à récupérer toutes les commandes de bonbon et de caramel mais je n'arrive pas à avoir toutes les commandes qui ne dispose que du cadeau. Je ne peux pas modifier le modèle de donnée.

Quelqu'un aurait une solution?

Merci d'avance
David55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 16h45   #2
Membre Expert
 
Homme
Responsable de service informatique
Inscription : janvier 2009
Messages : 1 081
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 38
Localisation : France

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Boutique - Magasin

Informations forums :
Inscription : janvier 2009
Messages : 1 081
Points : 1 875
Points : 1 875
Bonjour,
J'ai comme un doute sur ton schéma: tu as mis l'id de la commande dans la table Bonbon, ce qui signifie qu'un bonbon ne peut être que dans une seule commande, idem pour le caramel...
Quoi qu'il en soit, en respectant ton schéma:
Code SQL :
1
2
3
4
5
6
 
SELECT commandes.id
FROM commande
LEFT OUTER JOIN bonbon ON bonbon.idcmd = commandes.id
LEFT OUTER JOIN caramel ON caramel.idcmd = commandes.id
WHERE bonbon.id IS NULL AND caramel.id IS NULL

Tatayo.
tatayo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 16h49   #3
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 167
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 22
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 167
Points : 2 304
Points : 2 304
Merci de ta réponse!

Ce n'est pas une erreur. En faite, la liste des bonbon et de caramel sont dans d'autre table. Les tables que j'ai présentées permettent de séparer la commande en plusieurs tables c'est tout.

En tout cas je te remercie et je vais essayer ta solution dans quel cas je résoudrais le problème
David55 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 10h08.


 
 
 
 
Partenaires

Hébergement Web