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 15/06/2011, 09h00   #1
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 89
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 89
Points : 36
Points : 36
Par défaut Requête sur champ n'ayant qu'une seule valeur

Bonjour à tous

j'ai la table suivante "EXPE" (MySql)

ID (auto incrément)
KDO (clé secondaire, ID de ma table "KDO")
COM_CLI (clé secondaire, ID de ma table "COMMANDE_CLIENT")
FOUR (clé secondaire, ID de ma table "FOURNISSEUR")

j'aimerais retourner tous les éléments de cette table "EXPE" lorsque la commande (COM_CLI) ne contient que le fournisseur (FOUR) n°721

En sachant qu'une même commande client peut contenir différent fournisseur
ID - 1
KDO - 50
COM_CLI - 3500
FOUR - 721
et
ID - 2
KDO - 73
COM_CLI - 3500
FOUR - 215

Ce cas ne m'intéresse donc pas je ne veux vraiment que les commandes comportant uniquement le fournisseur 721 (en sachant qu'il peut cependant avoir plusieurs lignes avec le fournisseur 721 pour une même commande client)

Pour le moment j'ai réussi à isoler toutes les commandes comportant le 721 mais pas celles avec seulement le 721

Code :
1
2
3
SELECT ep.*
FROM EXPE ep
WHERE ep.com_cli IN (SELECT ep2.com_cli FROM EXPE ep2 WHERE ep2.four=721 )
Merci d'avance de votre aide
cedrick21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 09h24   #2
Membre émérite
 
Avatar de Drizzt [Drone38]
 
Homme
Inscription : mai 2004
Messages : 739
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : mai 2004
Messages : 739
Points : 979
Points : 979
Bonjour,

Non testé,

Code :
1
2
3
4
5
6
7
8
SELECT * FROM EXPE ep
WHERE ep.FOUR = 721
    AND NOT EXISTS 
          (
            SELECT 1 FROM EXPE ep2
            WHERE ep2.FOUR <> 721
               AND ep2.COM_CLI = ep.COM_CLI
          );
__________________
Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

(\ _ /)
(='.'=)
Voici Lapinou. Aidez le à conquérir le monde
(")-(") en le reproduisant
Drizzt [Drone38] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 09h33   #3
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 89
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 89
Points : 36
Points : 36
impeccable merci !
j'aurai été incapable de trouver ça tout seul !
cedrick21 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 05h27.


 
 
 
 
Partenaires

Hébergement Web