Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
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 07/11/2011, 21h24   #1
Invité de passage
 
Homme Sébastien Hodgson
Étudiant
Inscription : octobre 2011
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Hodgson
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 1
Points : 1
Points : 1
Par défaut SQL-server NOT IN

Salut tout le monde !

J'ai une table appartement qui contient les numéro d'appartement du bloc. J'ai un autre table qui contient les numéro d'extra classer par numéro d'appartement. les numéro d'extra vont de 0 à 10. voici un exemple de mes deux tables jointes. Les appartement peuvent avoir plus d'un extra.

appID -- extraID

100 ------ 1
100 ------ 2
100 ------ 6
110 ------ 1
110 ------ 7
115 ------ 1
115 ------ 9
115 ------ 10
etc
-----
-----
-----
-----

Je voudrais simplement voir les numéro d'appartement qui n'ont pas le numéro d'extra 9 ET 10. un simple NOT IN ne marche pas, car il ne fait que m'afficher les numéro d'appartement sans le numéro d'extra 9 et 10. Je veux vraiment ne pas voir les appartement avec le numéro d'extra 9 et 10.

Ex la requete ici m'afficherai :

100 et 110 comme appID


Merci !!
MTHeadss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 21h26   #2
Invité régulier
 
Homme
Inscription : novembre 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 9
Points : 5
Points : 5
Envoyer un message via Skype™ à FlyersWeb
Je suis pas un expert en MS SQL mais en MySQL j'aurais fait
WHERE extraID != 9 AND extraID != 10 ?
FlyersWeb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 22h05   #3
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 972
Points : 3 972
Citation:
Envoyé par MTHeadss Voir le message
Je voudrais simplement voir les numéro d'appartement qui n'ont pas le numéro d'extra 9 ET 10. un simple NOT IN ne marche pas, car il ne fait que m'afficher les numéro d'appartement sans le numéro d'extra 9 et 10. Je veux vraiment ne pas voir les appartement avec le numéro d'extra 9 et 10.
Pardon ???

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
WITH SR AS ( 
	SELECT 1 num union 
	SELECT 2 num union 
	SELECT 3 num union 
	SELECT 9 num union 
	SELECT 10 num union 
	SELECT 11 num union 
	SELECT 12 num union 
	SELECT 13 num )
SELECT *
FROM SR 
WHERE num NOT IN (9, 10 )
 
---------------------------------
num
-----------
1
2
3
11
12
13
 
(6 row(s) affected)
Si ça ne correspond pas à votre besoin, essayez d'être plus clair...
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 01h57   #4
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 686
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 686
Points : 10 431
Points : 10 431
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
À mon avis il recherche plutôt une division relationnelle.
J'ai un doute sur le 9 ET 10, donc il y a deux propositions ici :
Code :
1
2
3
4
5
6
7
8
  SELECT appID
    FROM appartement
  except
  SELECT appID
    FROM extra
   WHERE extraID IN (9, 10)
GROUP BY appID
  HAVING count(DISTINCT extraID) = 2 (ou >= 1 selon votre besoin)
__________________
Email : http://scr.im/waldar
Waldar 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 14h14.


 
 
 
 
Partenaires

Hébergement Web