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 :

Débutant Sql - Probleme avec Having


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 42
    Points : 18
    Points
    18
    Par défaut Débutant Sql - Probleme avec Having
    Bonjour le forum et tout le monde !

    Je ne sais pas comment faire pour comparer deux evenements

    j'ai 3 colonnes - facture - mouvement - montant
    j'ai x facture , j'ai 2 type de mouvements et x ligne de montant par facture.

    je voudrais sortir simplement les mouvements par facture qui n'ont pas le même montant (cumuler) !

    Alors j'ai fait ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select facture, mouvement, sum(montant) from base group by 1,2
    having ((mouvement = 1 and sum(montant)) <> ((mouvement = 2 and sum(montant))
    je me doute que c'est completement faux mais si quelqu'un pouvait m'aider....

    Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 115
    Points : 28 493
    Points
    28 493
    Par défaut
    Essaye ça (je n'ai pas les moyens de tester)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT 	facture, mouvement, sum(montant) 
    FROM 	base 
    GROUP BY facture, mouvement 
    WHERE EXISTS 
    	(	SELECT	1
    		FROM	base	AS b2
    		WHERE	b2.facture = base.facture
    		HAVING 	SUM(CASE WHEN b2.mouvement = 1 THEN b2.montant ELSE 0 END) 
    			<> SUM(CASE WHEN b2.mouvement = 2 THEN b2.montant ELSE 0 END)
    	)

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 42
    Points : 18
    Points
    18
    Par défaut
    Merci pour la reponse, on m'a soufflé aussi une autre solution avec à la fin

    Having sum(case when mouvement = 1 then montant else 0 end) <> sum(case when mouvement = 2 then montant else 0 end) !!!

    Merci pour ta solution qui est aussi bien tks :o)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-SQL]Probleme avec UPDATE
    Par omegabahamut dans le forum Access
    Réponses: 3
    Dernier message: 01/01/2007, 20h54
  2. [SQL] probleme avec script mail menu deroulant
    Par gtraxx dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/09/2006, 04h04
  3. [SQL] Problemes avec des champs uniques
    Par 000 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/06/2006, 14h28
  4. [Débutant / SQL] Requête avec la fonction MAX
    Par bugmenot dans le forum Access
    Réponses: 3
    Dernier message: 14/04/2006, 11h43

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