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

SQL Oracle Discussion :

requête sql regroupement de lignes


Sujet :

SQL Oracle

  1. #1
    Candidat au Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2017
    Messages : 1
    Points : 3
    Points
    3
    Par défaut requête sql regroupement de lignes
    Bonjour à tous,

    Voici mon problème en sql (je ne suis vraiment pas un pro) que je tente de résoudre sans succès.
    Je vais simplifier ma question pour qu'elle soit très compréhensible :

    J'ai une base avec trois colonnes : Identifiant, type et valeur


    pour chaque identifiant j'ai certains types renseignés, je sais que le type "type1" est toujours renseigné.

    je voudrais que ma requête me renvoie ceci :
    Identifiant, valeur_type1, valeur_type3, valeur type_4, valeur_type7

    tout en sachant que je veux que l'on m'affiche une ligne même quand l'un de ces types n'est pas défini dans ma base !

    exemple :

    Identifiant type valeur
    112233 type1 356
    112233 type2 352
    112233 type4 458
    112233 type8 789
    445566 type1 386
    445566 type4 888


    doit me renvoyer ce tableau là :
    Identifiant valeur_type1 valeur_type3 valeur type_4 valeur_type7
    112233 356 null 458 null
    445566 386 null 888 null



    Pour l'instant j'ai essayé avec des égalités mais ça ne fonctionne pas pour les valeurs null, j'ai tenté avec des jointures mais je tombe sur des résultats qui correspondent à toutes les combinaisons possibles sans filtre.

    Merci d'avance aux experts !

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    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 080
    Points : 30 786
    Points
    30 786
    Par défaut
    Ton problème se résume à un PIVOT, mais cette clause n'est prise en charge que par les versions récentes.
    Il faudrait connaître la version d'Oracle que tu utilises pour te donner la meilleure réponse.
    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.

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/04/2009, 14h18
  2. SQL : Regrouper des lignes dans une seule colonne
    Par manoir62 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/02/2009, 18h06
  3. mettre une requête SQL sur deux lignes
    Par MAMANHOU dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/11/2008, 15h37
  4. Requête sql regroupement de dates
    Par rocs dans le forum Langage SQL
    Réponses: 1
    Dernier message: 28/07/2005, 16h40

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