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 :

Doubler mes lignes


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 298
    Points : 111
    Points
    111
    Par défaut Doubler mes lignes
    Bonjour,

    J'ai une requete très simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ID, NAME, MONTANT FROM TABLE1, TABLE2 WHERE jointure + condition...
    Voici un echantillon de mon résultat obtenu :

    1 JEAN 2000
    2 PAUL 1000
    3 PIERRE 1500
    J'aimerais savoir s'il éxiste une requete pour obtenir le même résultat, mais en ajoutant une ligne avec le montant en négatif, par exemple :

    1 JEAN 2000
    1 JEAN -2000
    2 PAUL 1000
    2 PAUL -1000
    3 PIERRE 1500
    3 PIERRE -1500
    Quelqu'un aurait une idée ?
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ID, NAME, MONTANT FROM TABLE1, TABLE2 WHERE jointure + condition...
    union all
    SELECT ID, NAME, -1* MONTANT FROM TABLE1, TABLE2 WHERE jointure + condition...

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Vous pouvez faire comme ceci :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT ID, NAME, MONTANT FROM TABLE1, TABLE2 WHERE jointure + condition...
    UNION ALL
    SELECT ID, NAME, - MONTANT FROM TABLE1, TABLE2 WHERE jointure + condition...

    ou encore mieux avec les jointures normalisées :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT ID, NAME, MONTANT 
    FROM TABLE1
    INNER JOIN TABLE2 ON jointure 
    WHERE  condition...
    UNION ALL
    SELECT ID, NAME, - MONTANT 
    FROM TABLE1
    INNER JOIN TABLE2 ON jointure 
    WHERE  condition...

    Par curiosité, pourquoi voulez vous faire cela ?

  4. #4
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 298
    Points : 111
    Points
    111
    Par défaut
    C'est super, cela fonctionne parfaitement.

    J'ai besoin de cela pour automatiser un fichier qui sera ensuite insérer dans SAP. C'est pour des flux financier.

    Merci infiniment pour vos réponses.

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

Discussions similaires

  1. scroller mes lignes de buttons
    Par yep2cv dans le forum Interfaces Graphiques
    Réponses: 6
    Dernier message: 30/01/2009, 23h59
  2. [SSIS][2005] Doubler une ligne
    Par geof dans le forum SSIS
    Réponses: 4
    Dernier message: 15/12/2008, 16h46
  3. Je ne sais pas trier mes lignes de texte :?
    Par beegees dans le forum C++
    Réponses: 5
    Dernier message: 12/05/2008, 00h25
  4. optimisation de l'ordre de stockage de mes lignes
    Par ukanoldai dans le forum Oracle
    Réponses: 4
    Dernier message: 28/05/2007, 23h19
  5. <table> en <div> et mes lignes ?
    Par Sepiaan dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 28/11/2006, 15h33

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