IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Requête de récupération de plainte sur date et condition


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 95
    Points : 41
    Points
    41
    Par défaut Requête de récupération de plainte sur date et condition
    Bonjours à tous ,

    J'ai besoin d'aide pour une requête SQL , je vais essayer d'être clair :

    J'ai une table avec des plaintes clients , les plaintes sont transmise entre deux services Reseau et Portefeuille: champ Competence , jusqua la cloture de la plainte il y a un ping pong entre les deux services .Je veux recuperer toutes les plaintes modifier en dernier ( cad que le champ DateModifAction est le plus récent) avec comme condition d'avoir le champ Etat 'A traiter' et le champ Competence 'Reseau'

    Merci Beaucoup !

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Cherche un peu dans les tutos, requête de base avec un WHERE et deux/trois AND !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 95
    Points : 41
    Points
    41
    Par défaut
    C'est plus compliqué que cela , je recupere toutes les plaintes donc un meme numero d'action peut apparaitre 10 fois !

    Je dois donc selectionner un numero d'action le comparer a tous les autres et garder celui qui a la date la plus recente, dont l'etat est 'à traiter' et dont la competence est 'Reseau'.

    Sinon je le vire (si la plainte a été cloturé ).

    voila la requête que j'ai fais mais ça ne recupere pas tout !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT Numero_action
     
    FROM (select Numero_action,Etat, Competence_destinataire from 
     
    (SELECT  Numero_action,Etat, Competence_destinataire  FROM CRM21_Fir_Histo  
    where Numero_action in ( select  Numero_action from  (SELECT Numero_action, Reponse_Reseau FROM CRM21_Fir_Histo ) uniq  
    GROUP BY Numero_action HAVING COUNT(*) = 1 ) )  )
     
    where Etat = 'A traiter'  
    and Competence_destinataire ='Réseau';

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Ah! ok, effectivement, c'est un peu plus complexe désolé ^^
    pourquoi pas ceci ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT P.Num_action
    FROM plaintes P
    WHERE P.Etat = 'A traiter'
    AND P.Competence_dest = 'Réseau'
    AND DateModifAction = (
       SELECT MAX(P2.DateModifAction)
       FROM plaintes P2
       WHERE P2.Num_action = P.Num_action
    )

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 95
    Points : 41
    Points
    41
    Par défaut
    La requête que tu m'as donné compile en très lgpts et me prend trop de plainte . J'ai une première étape :

    Je selectionne toutes les plaintes qui m'interresse maintenant il faut ensuite faire un autre tri et prendre parmi tous les numeros de plaintes identiques celui qui a la plus recente datedemodif :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT P.Numero_action, P.DateModifAction FROM CRM21_Fir_Histo  P
    WHERE P.Etat = 'A traiter'
    AND P.Competence_destinataire = 'Réseau'
    AND P.Action1<> 'Code répondeur'
    Merci

Discussions similaires

  1. Une erreur 233 de ms sql server
    Par Hokage dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/10/2009, 17h40
  2. Erreur 233 sous sql server
    Par brajae85 dans le forum Oracle
    Réponses: 3
    Dernier message: 18/05/2009, 16h12
  3. Réponses: 2
    Dernier message: 05/10/2004, 22h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo