Requête sql server

Résolu
tif27940 Messages postés 74 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 21 février 2012 - 20 déc. 2011 à 10:53
tif27940 Messages postés 74 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 21 février 2012 - 20 déc. 2011 à 13:08
Bonjour je souhaite créer une requête sql qui doit m'afficher des noms d'une table qui sont inactifs depuis 6 mois a 1 an.
je pensais faire un not in mais je ne vois pas vraiment comment faire pour l'intervalle.
ci-joint ébauche de ma requête avec un not in qui je sais ne me donne pas ce que je veut.
select Nom, Prenom
from Contact, Fonction
where Fonction.Fonc=Contact.Fonc
and Fonction.Fonc=1
and Contact.Contact_Id not in (Select Contact_Id from Dossier where Date=2011-12-20);


merci de vos réponses

2 réponses

cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
20 déc. 2011 à 12:34
Bonjour,

pour moi, le

Fonction.Fonc=Contact.Fonc
and Fonction.Fonc=1


peut être remplacé par

Contact.Fonc=1


car équivalent et scan en moins de la table Fonction.

et si j'ai bien compris, tu veux la liste des noms qui ont la date comprise entre aujourd'hui - 6 mois et aujourdui - 12 mois.

qui devrait être (en mettant des alias)

select Nom, Prenom
from Contact c,Dossier d
where c.Fonc=1
and c.Contact_Id = d.Contact_Id
and d.Date <= dateadd(month,-6,getdate())
and d.Date >= dateadd(month,-12,getdate())


Pas testé mais en principe ok. vois si tu veux

<, <=, > ou >=



bonne journée



Faites simple, aussi simple que possible, mais pas simpliste.
A. Einstein.
3
tif27940 Messages postés 74 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 21 février 2012
20 déc. 2011 à 13:08
merci de ta réponse je vais aller la tester je te tiens au courant
0
Rejoignez-nous