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

MS SQL Server Discussion :

Aide pour réaliser une requete complexe


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2010
    Messages : 71
    Points : 47
    Points
    47
    Par défaut Aide pour réaliser une requete complexe
    Bonjour Mes amis ,

    j'ai une table Règlement dans cette forme :
    code_devise | montant | mode | date
    EUR 1000 espece 2012-10-09
    EUR 500 carte 2012-10-09
    MAD 4000 espece 2012-10-09
    EUR 200 carte 2012-10-08
    MAD 2000 espece 2012-10-08
    MAD 1700 carte 2012-10-08

    et je veux faire une requete sur cette table pour rendre dans cette forme :
    date | EUR | MAD | EUR (carte) | MAD (carte)
    2012-10-08 0 2000 200 1700
    2012-10-09 1000 4000 500 0
    total 1000 6000 700 1700

    Merci de m'aider

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 856
    Points : 52 993
    Points
    52 993
    Billets dans le blog
    6
    Par défaut
    Utilisez un SUM associés à un CASE.

    A +

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2010
    Messages : 71
    Points : 47
    Points
    47
    Par défaut
    le problème c pas la somme , c déjà fait mais le vrai problème c comment orienter les valeurs (code_devi) en titres du tableau

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 856
    Points : 52 993
    Points
    52 993
    Billets dans le blog
    6
    Par défaut
    S'agissant de cosmétique, vous devez connaître ces valeurs d'avance !

    À me lire : http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L9

    A +

  5. #5
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 118
    Points : 180
    Points
    180
    Par défaut
    Citation Envoyé par zaghi Voir le message
    le problème c pas la somme , c déjà fait mais le vrai problème c comment orienter les valeurs (code_devi) en titres du tableau
    Comme le disait SQLPro, utilisation de CASE avec un alias pour chaque colonne.
    Et seulement si les valeurs sont connues à l'avance toujours comme spécifié par SQLPro !

    Un petit bout de code pour aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [Date]
    	, SUM(CASE WHEN code_devise = 'EUR' AND mode = 'espece' THEN Montant ELSE 0 END) AS 'EUR'
    	, SUM(CASE WHEN code_devise = 'MAD' AND mode = 'espece' THEN Montant ELSE 0 END) AS 'MAD'
    ...

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2010
    Messages : 71
    Points : 47
    Points
    47
    Par défaut
    Merci beaucoup SQLpro et SQLDev pour vos réponses , malgré la longueur de la requete mais ça marche Merci encore

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

Discussions similaires

  1. Difficulté pour réaliser une requete peu complexe :/
    Par DanaX dans le forum Langage SQL
    Réponses: 9
    Dernier message: 16/05/2007, 13h55
  2. [MySQL] Aide pour alleger une requete
    Par toniox dans le forum Langage SQL
    Réponses: 6
    Dernier message: 10/07/2006, 17h12
  3. Aide pour écrire une requête complexe
    Par julienbdx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/11/2005, 16h58
  4. Réponses: 8
    Dernier message: 03/11/2005, 08h51
  5. Aide pour optimiser une requete
    Par Akanath dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/09/2005, 11h05

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