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

PL/SQL Oracle Discussion :

Rassembler deux lignes en une


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Assisstant de Projet
    Inscrit en
    Octobre 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Assisstant de Projet
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 30
    Par défaut Rassembler deux lignes en une
    Bonjour,
    je n'arrive pas à faire une procédure stockée en pl/SQL afin de ramener deux lignes ou seulement un champs varie (voir capture d'écran) en une ligne.

    Nom : Untitled.png
Affichages : 339
Taille : 12,6 Ko
    Pourriez-vous m'aider ?

    Merci d'avance,
    A+

  2. #2
    Membre émérite Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Par défaut
    tu veux garder les deux informations ou tu as une règle spéciale pour choisir une info plutot que l'autre ?
    Ca sera selon ta réponse soit un pivot, soit un group by

  3. #3
    Membre averti
    Homme Profil pro
    Assisstant de Projet
    Inscrit en
    Octobre 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Assisstant de Projet
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 30
    Par défaut
    Bonjour,
    merci de ta réponse,

    Je souhaiterai en sortie une seule ligne me ramenant :
    B2C_MainJobs|Main_B2C_Export|B2C|4 jobs| Ts jours 7h35 et ramener Ts jours 21h50 dans un nouveau champs ou concaténer dans le champs descritpion2 le tout sur une seule ligne.

    Ai-je été clair ?

  4. #4
    Membre émérite Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Par défaut
    Citation Envoyé par Clement M Voir le message
    Ai-je été clair ?
    Oui oui ^^

    et donc la réponse est PIVOT ^^


    Tu as forcément que deux lignes ? ou tu peux en avoir plus ?

  5. #5
    Membre averti
    Homme Profil pro
    Assisstant de Projet
    Inscrit en
    Octobre 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Assisstant de Projet
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 30
    Par défaut
    Merci !
    Cependant, je ne connais pas la notion de pivot...
    Je peux en avoir plus parfois 4.

    voici ce que j'ai essayer de faire en pl/sql mais sans succès...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    CREATE OR REPLACE PROCEDURE ps_Duplicate
    IS
    v_descr2 varchar2(255);
      CURSOR cBegin IS 
            select count(*) AS NB,TAC from dfm_CRON
             where PLANEXEC is null
            group by tac
            having count(*)  >= 2;
    BEGIN
      FOR vBegin IN cBegin LOOP
       select description2 into v_descr2 from dfm_cron
       where tac=vBegin.TAC;
        UPDATE DFM_CRON
       SET description2=description2 || v_descr2;
      END LOOP;
     
            COMMIT;
      exception 
      when others THEN
        RAISE_APPLICATION_ERROR (-20411,'Impossible de mettre à jour le champs');
    END;

  6. #6
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Salut,
    Si tu es en 11g, tu as LISTAGG, sinon tu peux jeter un oeil sur les fonctions telles que "Stragg" (google sur oracle / stragg / tom kyte).

    @+

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

Discussions similaires

  1. [Requête] Rassembler plusieurs lignes sous une même ligne
    Par Laure041 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 25/04/2008, 16h40
  2. deux lignes en une
    Par deb_Sous_Python dans le forum Général Python
    Réponses: 1
    Dernier message: 20/06/2007, 15h40
  3. Réponses: 4
    Dernier message: 02/06/2007, 12h35
  4. Deux lignes en une dans une table
    Par jeanchcom dans le forum Access
    Réponses: 2
    Dernier message: 21/08/2006, 13h50
  5. ecrire sur deux ligne dans une button
    Par zidenne dans le forum Delphi
    Réponses: 5
    Dernier message: 27/07/2006, 10h23

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