none
filtre "différent d'une période" MS SQL 2005 RRS feed

  • Question

  • Bonjour,

    j'ai besoin d'aide pour créer une requête, mon cerveau bloc à la compréhension... 

    j'ai 5 clients a qui nous avons envoyé un e-mail en 2011 et parmi eux 3 n'ont jamais été contacté en 2012.

    je souhaite récupérer les 3 clients.

    la requête serait en francais : selectionner tous les clients ayant un mail en 2011 et n'ayant rien en 2012.

    Je n'arrive pas a créer la requête si qq'un pouvait m'aider...

    Merci.

    jeudi 6 septembre 2012 15:43

Réponses

  • Bonjour,

    Il ya plusieurs façon par exemple si je traduis la phrase directement en SQL :

    SELECT * FROM Client -- sélectionner tous les clients

    WHERE EXISTS(SELECT 1 FROM Courrier WHERE Client_fk=Client_pk AND Année=2011) -- ayant au moins un mail en 2011

    AND NOT EXISTS(SELECT 1 FROM Courier WHERE Client_fk=Client_pk AND Année=2012) -- et n'ayant rien en 2012

    En revoyant l'objet je crois que le problème est que l'on ne dit pas "je ne veux QUE des mails ailleurs qu'en 2012". On dit plutôt "je veux que la liste des mails de 2012 soit vide" donc on n'utilise en fait aucun filtre "différent d'une période".


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    jeudi 6 septembre 2012 16:46