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 :

Extraire des valeurs dans un select


Sujet :

SQL Oracle

  1. #1
    Membre habitué
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2014
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 319
    Points : 158
    Points
    158
    Par défaut Extraire des valeurs dans un select
    Bonjour

    J'ai un souci avec une table, cette table s'articule ainsi

    table horloge
    NUMBERPRGN, Key_CHAR, total
    001 PEC 15
    001 Attente 20
    001 duree 35

    Je faire un select pour recupérer la valeur de total pour la valeur PEC et la valeur Attente

    j'ai essayé de faire ce select sans success etant débuant dans ce domaine, pouvez m'aider pour la syntaxe ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT
      incidents.NUMBERPRGN;
      incidents.UPDATE_TIME;
      A.TOTAL;
      B.TOTAL;
      incidents.ASSIGNEE_NAME LIGNE
    FROM 
      incidents, horloge A, horloge B
      LEFT OUTER JOIN A ON A.KEY_CHAR = incidents.NUMBERPRGN
      LEFT OUTER JOIN B ON B.KEY_CHAR = incidents.NUMBERPRGN
     WHERE
      A.NAME like 'Attente%' or B.NAME like 'PEC%'

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    bonjour,

    Vous trouverez des exemples en cherchant sur le forum avec le mot clef PIVOT

  3. #3
    Membre habitué
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2014
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 319
    Points : 158
    Points
    158
    Par défaut
    je ne comprends pas la syntaxe je suis debutant dans les base de données

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Alors, on peut aussi adapter votre requête initiale, en faisant les jointures correctement.
    la double jointure sur la table horloge est en effet un possibilité. Il faut cependant inclure la condition sur le nom dans la condition de jointure :

    ce qui donne :

    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
     
    SELECT
      incidents.NUMBERPRGN
      incidents.UPDATE_TIME
      A.TOTAL 
      B.TOTAL
      incidents.ASSIGNEE_NAME LIGNE
    FROM 
      incidents
      LEFT OUTER JOIN horloge A 
        ON A.KEY_CHAR = incidents.NUMBERPRGN
        AND A.NAME like 'Attente%' 
      LEFT OUTER JOIN horloge  B 
        ON B.KEY_CHAR = incidents.NUMBERPRGN
        AND B.NAME like 'PEC%'

  5. #5
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Il y a aussi cette possibilité de faire un select dans le select.
    moins performant sur des gros volumes, mais sur des petites requêtes, ça va.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT incidents.NUMBERPRGN, incidents.UPDATE_TIME,
    	(SELECT total FROM horloge A WHERE A.KEY_CHAR = incidents.NUMBERPRGN AND A.NAME = 'Attente') total_Attente, 
    	(SELECT total FROM horloge A WHERE A.KEY_CHAR = incidents.NUMBERPRGN AND A.NAME = 'PEC') total_Pec, 
    	incidents.ASSIGNEE_NAME LIGNE
    FROM incidents
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

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

Discussions similaires

  1. Tri des valeurs dans un DBGrid
    Par soviet dans le forum C++Builder
    Réponses: 3
    Dernier message: 11/06/2015, 14h18
  2. [Tableaux]Ajouter des valeurs dans un tableau
    Par Antoine1183 dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 03/04/2005, 13h41
  3. [Free Pascal] Intégrer des valeurs dans un menu dynamique
    Par boullery dans le forum Free Pascal
    Réponses: 16
    Dernier message: 30/03/2005, 17h04
  4. fonction récupérant des valeurs dans une fonction popup...
    Par petitsims dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/01/2005, 14h51
  5. Décaler des valeurs dans un tableau
    Par sh2003 dans le forum Langage
    Réponses: 6
    Dernier message: 20/03/2004, 16h01

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