Requete sql résultat en colonnes

Kaïembé -  
 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
Configuration: Windows XP
Firefox 2.0.0.1

4 réponses

  1. Kaïembé
     
    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
  2. Utilisateur anonyme
     
    On pourrait voir ta requête stp ?
    0
    1. Kaïembé
       
      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
  3. Utilisateur anonyme
     
    C illisible et incompréhensible ... :-(
    0
    1. Kaïembé
       
      lol, je m'attendais à une réponse comme ça.
      bah tant pis, merci quand même de t'y être penché.
      0
      1. Sh@tter Messages postés 157 Date d'inscription   Statut Membre Dernière intervention   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
  4. Utilisateur anonyme
     
    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