Requete sql résultat en colonnes

Fermé
Signaler
-
 Utilisateur anonyme -
Bonjour,

Je bosse dans un dépot pharmaceutique et j'ai besoin d'une requête sql qui m'affiche les résultats d'un champ sur plusieurs colonnes au lieu d'une seule.

Je m'explique : Lorsque j'exécute ma requête j'ai ça:


NOM TAUX FAMILLE CA

ABAD 0 ANNEXE 231,72
ABAD 0 MEDCHER 4121,21
ABAD 2,5 MEDICAMENT 1738,58
ABECASSIS 0 MEDCHER 82,96
ABECASSIS 7,5 MEDICAM5 191,01
ABECASSIS 2,5 MEDICAMENT 3755,96


Et je voudrais ça :


NOM TAUX ANNEXE TAUX MEDCHER TAUX MEDICAMENT TAUX MEDICAM5

ABAD 0 231,72 0 4121,21 2,5 1738,58
ABECASSIS 0 82,96 2,5 3755,96 7,5 191,01


Voilà
J'espère que c'est clair
En fait je voudrais 1 seule ligne par client et 1 colonne par taux et par chiffre d'affaire famille

Merci d'avance

4 réponses

Bon, j'en ai fait une autre qui donne les mêmes genres de résultats :

SELECT TOP 100 PERCENT dbo.F_DOCLIGNE.CT_Num, dbo.F_DOCLIGNE.DL_Remise01REM_Valeur, dbo.F_ARTICLE.FA_CodeFamille,
SUM(dbo.F_DOCLIGNE.DL_MontantHT) AS Expr1
FROM dbo.F_DOCLIGNE INNER JOIN
dbo.F_ARTICLE ON dbo.F_DOCLIGNE.AR_Ref = dbo.F_ARTICLE.AR_Ref
GROUP BY dbo.F_DOCLIGNE.DO_Type, dbo.F_DOCLIGNE.CT_Num, dbo.F_DOCLIGNE.DL_Remise01REM_Valeur, dbo.F_ARTICLE.FA_CodeFamille
HAVING (dbo.F_DOCLIGNE.DO_Type = 6)
ORDER BY dbo.F_DOCLIGNE.CT_Num

C'est mieux, non ?
1

On pourrait voir ta requête stp ?
0
SELECT TOP 100 PERCENT Num_Compte, Tx_Remise, FA_CodeFamille, SUM(Mt_Brut_Facture - ROUND(Mt_Brut_Facture * (Tx_Remise / 100), 2))
AS Mt_CA_Net_Facture
FROM (SELECT Idf_CIP AS Code_CIP_Officine, CT_intitule + '(' + CT_contact + ')' AS Nom, CT_Adresse AS Adresse, CT_CodePostal AS CodePostal,
CT_ville AS Commune, CIP AS Code_CIP_Article, DL_Design AS Libelle_Produit, DL_QteBC AS Qte_Comm, DL_Qte AS Qte_Fact,
round(DL_Qte * DL_PrixUnitaire, 2) AS Mt_Brut_Facture, DL_PrixUnitaire AS Px_Unite_PHA, round(DL_Qte * DL_PrixRU, 2) AS Mt_en_PGHT,
DL_PrixRU AS Px_Unite_GRO, DL_Remise01REM_Valeur AS Tx_Remise, isnull(DL_Taxe1, 0) AS Code_TVA, TA_Intitule AS Libelle_TVA,
C.CT_NUM AS Num_Compte, E.Do_Piece, DL_Remise01REM_Valeur, FA_CodeFamille
FROM F_comptet C INNER JOIN
F_Docentete E ON E.DO_tiers = C.CT_num AND E.DO_domaine = 0 AND E.Do_type = 6 INNER JOIN
F_docligne L ON E.Do_piece = L.Do_piece AND E.Do_type = L.Do_type AND L.DL_Qte <> 0 AND DL_Taxe1 IS NOT NULL INNER JOIN
F_Article A ON L.AR_Ref = A.AR_Ref INNER JOIN
F_ArtFourniss AF ON AF.AR_Ref = A.AR_Ref AND AF.AF_Principal = 1 INNER JOIN
F_ArtCompta AC ON A.AR_Ref = AC.AR_Ref INNER JOIN
F_taxe T ON L.DL_Taxe1 = T .TA_taux AND T .TA_SENS = 1
WHERE T .TA_Code = AC.ACP_ComptaCpt_Taxe1 AND C.ct_type = 0 AND E.DO_date >= '01/04/2008' AND E.DO_date < '01/05/2008') V
GROUP BY Num_Compte, Tx_Remise, FA_CodeFamille
0

C illisible et incompréhensible ... :-(
0
lol, je m'attendais à une réponse comme ça.
bah tant pis, merci quand même de t'y être penché.
0
Messages postés
157
Date d'inscription
jeudi 29 novembre 2007
Statut
Membre
Dernière intervention
26 octobre 2009
46 > Kaïembé
Tu devrais indenter ton code Kaïembé, ce sera déjà plus facile pour toi le relire quand tu viendras faire une modif dans plusieurs semaines et même pour ceux qui souhaitent t'aider à le modifier ^^
0

tu devrais utiliser les balise code /code du forum pour garder l'indentation de ta requête.
SELECT NOM
FROM   TABLE_TEST
WHERE  ID_NOM = 'TEST'
0