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

Développement SQL Server Discussion :

Reshape Table sous sql server [2017]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Par défaut Reshape Table sous sql server
    Bonjour à tous,

    Je souhaite trouver un manière de faire un reshape d'une table sous sq-server

    En gros j'ai une table sous cette forme :

    Enseigne Client Age type_achat Type_achat CA Nb_commandes
    5 CLI_1 Adultes Multi TYPE1 301 2
    5 CLI_1 Adultes Multi TYPE2 179 6
    5 CLI_1 Adultes Multi TYPE3 127 1
    5 CLI_1 Adultes Multi TYPE4 29 1
    5 CLI_2 Adultes Mono TYPE1 300 1


    et je souhaite avoir avoir une table sous la forme


    Age type_achat TYPE1.CA TYPE2.CA TYPE3.CA TYPE4.CA TYPE1.Nb_commandes TYPE2.Nb_commandes TYPE3.Nb_commandes TYPE4.Nb_commandes
    Adultes Multi 301 179 127 29 2 6 1 1
    Adultes Mono 300 0 0 0 1 0 0 0


    Pourriez-vous m'aidez s'il vous plait ?
    Je suis débutant.

    Merci de votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    C'est quoi un « RESHAPE » ?
    Qu'est ce que vous cherchez à faire de façon claire ?

  3. #3
    Membre expérimenté
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Par défaut
    Bonjour,

    Je cherche à mettre une table ou il y a plusieurs lignes par clients en une table avec une seule ligne par clients.

    Comme l'exemple que j'ai mis dans mon précédent message.

    J'ai regarder un peu avec la fonction pivot mais j'ai pas su comment l'appliqué sur plusieurs colonnes.

    Merci de ta réponse.

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Le PIVOT s'applique pour le calcul des valeurs d'un seul indicateur sur plusieurs identifiants d'une dimension (ici TYPE).
    L'exemple que tu présentes comporte deux indicateurs (CA et Nb_commandes).

    Il faut donc joindre deux requêtes PIVOT pour obtenir le résultat attendu.
    Ou calculer les indicateurs à l'ancienne, sans PIVOT, avec des SUM et des CASE.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Par défaut
    Bonjour,

    Merci de ta réponse, je voulais justement éviter les jointures. Apparemment il n'y a pas une solution.

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Pourquoi vouloir éviter les jointures ? Les SGBD sont conçus pour ça
    Quant à la solution sans jointure, je l'ai donnée. Il suffit de suivre le lien que j'ai indiqué et d'appliquer le principe.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

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

Discussions similaires

  1. transfert de table sous SQL Server
    Par stephyugh dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/09/2008, 18h20
  2. creation table avec lignes d'une autre table sous Sql Server
    Par pops4 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 25/05/2007, 13h59
  3. tableau dynamique via une table sous sql server
    Par bibi2607 dans le forum ASP
    Réponses: 5
    Dernier message: 21/02/2005, 15h45
  4. UPDATE multi-tables sous SQL Server
    Par Cybernet dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/03/2004, 15h34
  5. MAJ d'une table sous SQL Server par insertion
    Par keish dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/06/2003, 16h23

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