Bonjour,
Dans SQL Server Management Studio, je voudrais pouvoir créer une vue qui me permette d'obtenir tous les enregistrements d'une table en double.
C'est à dire que tous les enregistrements se voient deux fois mais la deuxième fois, certaines colonnes sont inversées (CompteCR, compteDB) et les colonnes contenant des montants sont multipliées par -1
J'ai commencé par créer une vue qui m'inverse les colonnes et fait la multiplication par -1 : voici
Ensuite, j'ai crée une deuxième vue qui utilise la table de base et la première vue pour obtenir le résultat que j'aimerais. Voici le code de la deuxième vue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT [N°], NoDeb, NoDebFact, Nom, Libelle, NoFacture, DateFacture, DateEcheance, MontantTTC * - 1 AS MontTTC, CdeTVA, TauxTVA, MontantTVA * - 1 AS MonHT, MontantHT, DatePaiement, CompteCR, CompteDB, TypeTR, SocieteFS, CompteSteGr, CdeTVASteGr, NoCreancier, TexteCodif1, TexteCodif2 FROM dbo.Transactions
Cela fonctionne très bien, j'obtiens donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT * FROM dbo.Transactions where dbo.transactions.datefacture >= '2017-01-01' union select * from dbo.vue_transactions where dbo.vue_transactions.datefacture >= '2017-01-01'
N° NoDeb DateFacture MontantTTC MontantTVA CompteDB CompteCR 1 2545 2017-12-05 108 8 1100 3000 1 2545 2017-12-05 -108 -8 3000 1100
Ma question est : n'y a t-il pas plus simple pour arriver au même résultat ?
Merci d'avance de vos réponses et commentaires.
Partager