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

Langage SQL Discussion :

Problème d'une requete sql


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Problème d'une requete sql
    J'ai une vue dans la base de données
    et au lieu d'avoir une lecture horizonrale des attributs,
    j'aimerai créer une vue verticale
    http://www.developpez.net/forums/att...1&d=1338375066

    j'aimerai créer une vue dans la quelle il y a le NumCI,NomCI,Domaine,EntitéUtilisatrice ....
    j'ai commencé à travailler avec un curseur qui va parcourir les enregistrements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Declare a1 varchar;
    Declare a2 varchar;
    Declare a3 varchar;
    Declare a4 varchar;
    Declare a5 varchar;
    create table(id INTEGER NOT NULL PRIMARY KEY,nom VARCHAR(64),version VARCHAR(64),contraintes VARCHAR(64),domaine VARCHAR(64),Entiteutilisatrice VARCHAR(64),
    DECLARE cur1 cursor for 
    select* from vue_cmdb;
    begin 
    open cur1 ;
    FETCH cur1 INTO a1,a2,a3,a4;
    Avez-vous une meilleure solution ?
    Images attachées Images attachées  

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    il faudrai un exemple en entrée et un ce que vous souhaitez en sortie car là votre besoin est difficllement compréhensible.


    De plus, indiquez votre SGBD.

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Dans la photo j ai ma vue et j'aimerai la rendre en collonnes ;çad créer une autre vue à base de la première dans la quelle les valeurs de la collones Attributes sont des colonnes pour la nouvelle vue .
    J'espère que vous avez compris ce que je veux ,et Merci bcp
    Images attachées Images attachées  

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Faites une recherche avec votre nom de SGBD + le mot clef PIVOT

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Pour utiliser un pivot de table c'est assez simple pour des entiers,mais je crois pas la mme chose aussi pour les chaines de caractères J'ai fait la meme chose mais dans mon cas j ai des chaines de caractère mon je peut faire un (sum en chaine de caractère ),et puis faire un group by
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT NomCI
                  , if(vue_cmdb.Attribute = "EntiteUtilisatrice", vue_cmdb.Value, NULL) AS a
                  , if(Attribute = "Fournisseur", vue_cmdb.Value, NULL) AS b
    FROM
      vue_cmdb
    et ci-joint le résultat
    Images attachées Images attachées  

  6. #6
    Membre chevronné
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Points : 1 878
    Points
    1 878
    Par défaut
    Je ne vois pas en quoi cela change que se soit du texte ou des nombres
    Si par exemple j'ai la table suivante qui répertorie par page et par ligne des textes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE t(page number(8), ligne number(8), texte VARCHAR2(30));
    INSERT INTO t VALUES (1, 1, 'Texte 1.1');
    INSERT INTO t VALUES (1, 2, 'Texte 1.2');
    INSERT INTO t VALUES (1, 3, 'Texte 1.3');
    INSERT INTO t VALUES (2, 1, 'Texte 2.1');
    INSERT INTO t VALUES (2, 2, 'Texte 2.2');
    INSERT INTO t VALUES (2, 3, 'Texte 2.3');
    INSERT INTO t VALUES (3, 1, 'Texte 3.1');
    INSERT INTO t VALUES (3, 2, 'Texte 3.2');
    INSERT INTO t VALUES (3, 3, 'Texte 3.3');
    Un SELECT classique me donne donc ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    select * from t;
     
          PAGE      LIGNE TEXTE
    ---------- ---------- ------------------------------
             1          1 Texte 1.1
             1          2 Texte 1.2
             1          3 Texte 1.3
             2          1 Texte 2.1
             2          2 Texte 2.2
             2          3 Texte 2.3
             3          1 Texte 3.1
             3          2 Texte 3.2
             3          3 Texte 3.3
    Maintenant je veux afficher les lignes en colonnes de façon à avoir une seul ligne par page et tous les textes correspondant
    Pivot sur les lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT page,
     MAX(DECODE(ligne, 1, texte)) AS Ligne_1,
     MAX(DECODE(ligne, 2, texte)) AS Ligne_2,
     MAX(DECODE(ligne, 3, texte)) AS Ligne_3
    FROM
     (SELECT page, ligne, texte
     FROM t)
    GROUP BY page;
     
          PAGE LIGNE_1                        LIGNE_2                        LIGNE_3
    ---------- ------------------------------ ------------------------------ ---------
             1 Texte 1.1                      Texte 1.2                      Texte 1.3
             2 Texte 2.1                      Texte 2.2                      Texte 2.3
             3 Texte 3.1                      Texte 3.2                      Texte 3.3
    Pas de problèmes spécifiques à moins que tu ne parles d'autres choses ?

Discussions similaires

  1. [MySQL] Probléme avec une requete SQL
    Par neutrall dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 02/08/2012, 10h34
  2. problème d'une requete SQl java vers oracle
    Par bingo06260 dans le forum JDBC
    Réponses: 4
    Dernier message: 21/06/2011, 08h58
  3. problème avec une requete sql
    Par crmien dans le forum Requêtes
    Réponses: 3
    Dernier message: 04/03/2010, 08h57
  4. Petit problème sur une requete sql
    Par adibou666 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 22/01/2009, 11h57
  5. Problème avec une requete SQL sous access
    Par Luther13 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 14/12/2005, 10h39

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