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 :

Alignement des données


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Par défaut Alignement des données
    Comme j'apprend pleins de choses avec vous,j'en profite.

    J'aimerais afficher les données sur une meme ligne...
    Voici ma requete et le resultat qu'elle me sort:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SELECT
      SALARIE.MATRICULE,
      FRH_STATUT_SALARIE.CONTRAT,
    FRH_STATUT_SALARIE.STATUT_ID
    FROM
      SALARIE,
      FRH_STATUT_SALARIE
    WHERE
      ( FRH_STATUT_SALARIE.SALARIE_ID=SALARIE.SAL_ID  )
      AND  (  FRH_STATUT_SALARIE.CONTRAT is not null OR FRH_STATUT_SALARIE.STATUT_ID is not null)
    order by SALARIE.MATRICULE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MATRICULE	CONTRAT	STATUT_ID
    443	Durée déterminée	0
    443		2
    448		2
    448	Durée indéterminée	0
    Et j'aimerais afficher:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MATRICULE	CONTRAT	STATUT_ID
    443	Durée déterminée	2
    448	Durée indéterminée	2

    C'est possible?

  2. #2
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    Salut,
    tu pourrais développer un peu STP ?

    je dois avouer que je ne comprends pas bien ta problèmatique...

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Par défaut
    En fait j'ai une requete qui recupere sur une ligne les contrats des salaries et sur une autre ligne les statuts.
    Mon objectif est de mettre tous les renseignements concernant un salarie sur une ligne et enlever les champs nuls.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 68
    Par défaut
    C'est n'est dans ce cas pas un problème de SQL pur mais un problème d'affichage, qui est à la charge du client.

    Si le client est sqlplus, ça va ressembler à ça :
    set linesize 132 -- (largeur du terminal)
    column matricule a5
    column contrat a20 -- largeur de chaque colonne
    ...
    Référence complète sur :
    http://download.oracle.com/docs/cd/B...h7.htm#1005594

    Si c'est un autre client, voir la doc de ce client ....

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Par défaut
    Non pas du tt. Ca vient de la table.

    Chaque renseignement concernant un salarie écrit une nouvelle ligne.
    Mais moi, j'aimerais lire tous les renseignements sur la meme ligne.
    Je pensais à une sorte de group by mais sans fonction d'agregat....mais ca ne fonctionne pas..

  6. #6
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2
    Par défaut
    Bonsoir,

    Si je comprends bien, dans ta table FRH_STATUT_SALARIE tu as une ligne par renseignement sur le salarié, soit son contrat soit son statut (et d'autres choses éventuellement si la table a d'autres colonnes).
    Donc pour un même salarié tes données contrat et statut sont sur deux lignes différentes, et quand l'un est alimenté, l'autre est null.
    Si cela marche bien comme ça (je ne fais qu'imaginer) tu dois pouvoir obtenir ce que tu veux en utilisant le MAX de tes colonnes CONTRAT et STATUT_ID soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT
      SALARIE.MATRICULE,
      MAX(FRH_STATUT_SALARIE.CONTRAT),
      MAX(FRH_STATUT_SALARIE.STATUT_ID)
    FROM
      SALARIE,
      FRH_STATUT_SALARIE
    WHERE
      ( FRH_STATUT_SALARIE.SALARIE_ID=SALARIE.SAL_ID  )
      AND  (  FRH_STATUT_SALARIE.CONTRAT IS NOT NULL OR FRH_STATUT_SALARIE.STATUT_ID IS NOT NULL)
    GROUP BY SALARIE.MATRICULE
    ORDER BY SALARIE.MATRICULE

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/05/2012, 19h21
  2. [2008R2] Alignement des données dans un cube
    Par iCraZy63 dans le forum SSAS
    Réponses: 5
    Dernier message: 10/06/2011, 15h45
  3. [2008R2] Alignement des données dans un cube
    Par iCraZy63 dans le forum SSRS
    Réponses: 1
    Dernier message: 07/06/2011, 17h43
  4. Afficher des données alignées
    Par GreatDeveloperOnizuka dans le forum C#
    Réponses: 0
    Dernier message: 04/02/2010, 16h50
  5. [.NET 2.0] Alignement des données ?
    Par OtI$ dans le forum C#
    Réponses: 2
    Dernier message: 03/10/2007, 09h46

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