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

Requêtes PostgreSQL Discussion :

Crosstab dynamic postgresql


Sujet :

Requêtes PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 2
    Par défaut Crosstab dynamic postgresql
    Bonjour à tous,

    J'ai créer une fonction à partir de crosstab pour affichage des données ligne en colonne, apparement elle marche bien mais mon problème est qu'il n'affiche pas toute les données, la fichier des données est en fichier excel et la fonction est :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    CREATE OR REPLACE FUNCTION dm.foo()
      RETURNS text AS
    $BODY$
    DECLARE
    dynamic_columns varchar;
    BEGIN
     
    select array_to_string(array_agg(distinct item_name order by item_name), ' text, ') into dynamic_columns from dm.clinicaldata;
     
    return 'select * from crosstab (
        ''select Distinct  subject_id, item_group_name, item_group_repeat, item_name, item_value from dm.clinicaldata order by 1'', 
        ''select Distinct item_name from dm.clinicaldata order by item_name''
        )
        as newtable (
        subject_id varchar, item_group_name varchar, item_group_repeat int, '|| dynamic_columns ||' text
        )';
     
     
    END;
    $BODY$
      LANGUAGE plpgsql VOLATILE
      COST 100;
    ALTER FUNCTION dm.foo()
      OWNER TO postgres;
    --------
    CREATE OR REPLACE FUNCTION dm.bar()
      RETURNS void AS
    $BODY$
    DECLARE
    dyn_crosstab text;
    BEGIN
     
    DROP VIEW IF EXISTS barview;
     
    select dm.foo() into dyn_crosstab;
     
    execute 'create view barview as '||dyn_crosstab;
     
    END;
    $BODY$
      LANGUAGE plpgsql VOLATILE
      COST 100;
    ALTER FUNCTION dm.bar()
      OWNER TO postgres;
    ------- execution du foction
    select dm.bar();
    ------ pour affichage
    select * from barview;
    est-ce vous pouvez m'aider à resoudre le problème
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [MySQL -> PostGreSQL] Migration
    Par Nepomiachty Olivier dans le forum Administration
    Réponses: 9
    Dernier message: 23/04/2010, 16h33
  2. Orderby dynamic dans crosstab
    Par Fab_ dans le forum VBA Access
    Réponses: 0
    Dernier message: 22/05/2008, 14h20
  3. [Kylix] PostgreSql via ODBC
    Par doykati dans le forum EDI
    Réponses: 3
    Dernier message: 08/02/2007, 10h10
  4. Réponses: 4
    Dernier message: 28/09/2002, 00h00
  5. Réponses: 2
    Dernier message: 30/05/2002, 08h54

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