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

DB2 Discussion :

Afficher les données sans des lignes à vide


Sujet :

DB2

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 21
    Points : 25
    Points
    25
    Par défaut Afficher les données sans des lignes à vide
    Bonjour,

    Je cherche à construire une requête sql qui me permettrait d'afficher les données sur des lignes "entières" (sans des lignes vides)

    Les données sont issus d'un fichier plat

    FICHIERTEST 18/08/2022 000000000786543 FICHIERSTESTFICHIERSTEST 672868683862935 FICHIERSTESTFICHIERSTESTFICHOLU3GIUI3 1008202xxxxx245 FICHIERSTESTFICHIERSTEST
    FICHIERTEST 18/08/2022 000000000786543 FICHIERSTESTFICHIERSTEST 672868683862935 FICHIERSTESTFICHIERSTESTFICHOLU3GIUI3 10082022xxxxx867 FICHIERSTESTFICHIERSTEST
    FICHIERTEST 31/08/2022 000000000788743 FICHIERSTESTFICHIERSTEST23 9623592839527382 FICHIERSTESTFICHIERSTESTFICHOLU33 31082022xxxxx786 FICHIERSTESTFICHIERSTEST
    Dans un premier traitement géré par le service informatique, les données sont intégrées dans une table

    ColNomFic ColDonnée
    FICHIERTEST 18/08/2022 000000000786543 FICHIERSTESTFICHIERSTEST 672868683862935 FICHIERSTESTFICHIERSTESTFICHOLU3GIUI3 1008202xxxxx245 FICHIERSTESTFICHIERSTEST
    FICHIERTEST 18/08/2022 000000000786543 FICHIERSTESTFICHIERSTEST 672868683862935 FICHIERSTESTFICHIERSTESTFICHOLU3GIUI3 10082022xxxxx867 FICHIERSTESTFICHIERSTEST
    FICHIERTEST 31/08/2022 000000000788743 FICHIERSTESTFICHIERSTEST23 9623592839527382 FICHIERSTESTFICHIERSTESTFICHOLU33 31082022xxxxx786 FICHIERSTESTFICHIERSTEST

    Via une succession de case when, je récupère dans une requête sql les informations qui m'interessent pour les afficher en colonnes

    ColA ColB ColC
    - - -
    - - -
    18/08/2022 522 -
    - - -
    - - -
    - - -
    - - -
    - - -
    - - -
    - - 1008202xxxxx245
    - - -
    - - -
    - - -
    - - -
    - - -
    - - -
    - - 10082022xxxxx867
    - - -
    - - -

    Mon soucis est que je me retrouve avec beaucoup de ligne à vide ('-')
    Mon objectif est d'obtenir l'affichage suivant :

    ColA ColB ColC
    18/08/2022 522 1008202xxxxx245
    18/08/2022 522 10082022xxxxx867

    Est-ce que vous avez des conseils, des idées pour que je puisse atteindre le dernier affichage facilement en requête sql ?

    Merci à vous
    Claire

  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 803
    Points
    30 803
    Par défaut
    Bonjour,

    Qu'est-ce qui te permet d'associer la ligne 18/08/2022 522 - aux lignes - - 1008202xxxxx245 et - - 10082022xxxxx867 ?

    PS : Pour gagner du temps, inutile de répondre que ce sont les lignes non vides qui suivent. Par définition une table n'est pas ordonnée ; il y a donc peu de chances que ces lignes continuent à se suivre lors d'un select
    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.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    Merci pour votre remarque.
    Le lien se ferait sur ColNumFic et ColNumFic, chose que je n'ai pas fait dans la requête avec les case when

    la table stockée en base :

    ColNomFic ColNumFic ColDonnée
    FICHIERTEST 786543 18/08/2022 000000000786543 FICHIERSTESTFICHIERSTEST 672868683862935 FICHIERSTESTFICHIERSTESTFICHOLU3GIUI3 1008202xxxxx245 FICHIERSTESTFICHIERSTEST
    FICHIERTEST 786543 18/08/2022 000000000786543 FICHIERSTESTFICHIERSTEST 672868683862935 FICHIERSTESTFICHIERSTESTFICHOLU3GIUI3 10082022xxxxx867 FICHIERSTESTFICHIERSTEST
    FICHIERTEST 788743 31/08/2022 000000000788743 FICHIERSTESTFICHIERSTEST23 9623592839527382 FICHIERSTESTFICHIERSTESTFICHOLU33 31082022xxxxx786 FICHIERSTESTFICHIERSTEST

    résultat de la requête SQL :

    ColNomFic ColNumFic ColA ColB ColC
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 18/08/2022 522 -
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - 1008202xxxxx245
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - 10082022xxxxx867
    FICHIERTEST 786543 - - -
    FICHIERTEST 786543 - - -

    Comment rapprocher les lignes sur le ColNomFic et ColNumFic ?

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 134
    Points : 38 557
    Points
    38 557
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Il faut donc découper la contenu de la colonne "ColDonnée" selon les positions et longueurs respectives de chaque zone à récupérer...
    ... sous réserve que ces positions et longueurs soient constantes !

    Par exemple avec votre jeu de données :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    with tab1(ColNomFic, ColNumFic, ColDonnée) as
        (select 'FICHIERTEST', 786543, '18/08/2022 000000000786543 FICHIERSTESTFICHIERSTEST 672868683862935 FICHIERSTESTFICHIERSTESTFICHOLU3GIUI3 1008202xxxxx245'   
         from sysibm.sysdummy1   union all
         select 'FICHIERTEST', 786543, '18/08/2022 000000000786543 FICHIERSTESTFICHIERSTEST 672868683862935 FICHIERSTESTFICHIERSTESTFICHOLU3GIUI3 10082022xxxxx867'
         from sysibm.sysdummy1   union all
         select 'FICHIERTEST', 788743, '31/08/2022 000000000788743 FICHIERSTESTFICHIERSTEST23 9623592839527382 FICHIERSTESTFICHIERSTESTFICHOLU33 31082022xxxxx786'
         from sysibm.sysdummy1
        )

    Cette requête :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select ColNomFic
         , ColNumFic
         , substr(ColDonnée, 001, 010) as Xdate
         , substr(ColDonnée, 107, 016) as Xtruc
    from tab1

    Donne ce résultat :

    COLNOMFIC COLNUMFIC XDATE XTRUC
    FICHIERTEST 786543 18/08/2022 1008202xxxxx245
    FICHIERTEST 786543 18/08/2022 10082022xxxxx867
    FICHIERTEST 788743 31/08/2022 1082022xxxxx786


    Note : il est préférable d'éviter les caractères spéciaux (accents, cédilles, ligatures...) dans les noms d'objets.
    "Coldonnee" est préférable à "Coldonnée"

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

Discussions similaires

  1. Afficher les données d’une ligne d'un BDD
    Par Darkoos0410 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/06/2021, 19h27
  2. Réponses: 1
    Dernier message: 30/04/2018, 10h07
  3. Afficher les données d'une ligne d'une ListView dans des TextBox
    Par amimarcellin dans le forum Accès aux données
    Réponses: 0
    Dernier message: 05/05/2014, 11h02
  4. [VBA-E] afficher les données d'une datagrid dans des zones de textes
    Par fadwa dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/05/2006, 13h51

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