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 :

Requete SQL BBD oracle


Sujet :

SQL Oracle

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Requete SQL BBD oracle
    Bonjour, je suis actuellement sur un projet sur un projet de création d'indicateurs via leur extraction d'un SGBD (oracle), je découvre totalement SQL.
    Grâce à SQL developer et les différents tuto disponibles j'essaye d'extraire certains données, cependant j'ai un soucis car j'essaye de créer une vue de trois tables différentes, c'est à dire avoir dans une même tables les données des trois tables.

    Table 1
    P composantid
    F idtype

    Table 2
    P lieuid
    F idtype

    Table 3
    P typeid
    F idtype

    Si j'ai bien compris je dois indiquer quel élément lie les trois tables, j'ai donc essayé :
    WHERE T1.idtype = T2.idtype
    WHERE T3.idtype = T2.idtype

    Enfin le monde des développeur et de SQL est un mystère pour moi, et je vous remercie d'avance de votre aide.

    FloG

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Je reviens avec plus de détails sur les tables et un test de requête qui ne fonctionne pas.

    Lieus
    P LIEUID
    F IDTYPE
    F IDLIEU
    NOM

    Composants
    P COMPOSANTS ID
    F IDTYPE
    F IDTYPEVECTEUR
    TAILLEY

    TYPES
    P TYPEID
    F IDTYPE
    NOM

    Je souhaites avoir une requete qui m'affiche le nom (lieu), la tailley et le nom (type).
    J'ai éssayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT T1.NOM AS NOM_BAIE, T2.TAILLEY AS TAILLE_BAIE_MM, T3.NOM AS TYPE_MATERIEL
    FROM TYPES T3
    INNER JOIN COMPOSANTS T2 ON T2.IDTYPE = T3.IDTYPE
    INNER JOIN LIEUS T1 ON T3.IDTYPE = T1.IDTYPE
    mais ça ne me retourne rien.

    Merci pour votre aide.

    FloG

  3. #3
    Membre éclairé Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Points : 870
    Points
    870
    Par défaut
    Bonjour,


    Votre requête semble syntaxiquement bonne.
    Mais est elle juste d'un point de vue fonctionnel ? je me pose un peu la question, car je vois par exemple dans votre table Lieus que vous avez une colonne LIEUID et une colonne IDLIEU
    Les noms me semble un peu identique, n'y aurait il pas un probleme dans votre modélisation ?


    Quoi qu'il en soit, essayez peut etre de joindre vos tables deux par deux avant de faire une triple jointure.
    Vous joingnez Lieus et Composants et voyez si ca vous ramène des lignes. Puis vous recommencez avec les autres couples/combinaisons et si a un moment ca ne ramène aucune ligne, c'est qu'il y a un problème au niveau de cette jointure et il faudra alors explorer plus précisement ce cas. Vous voyez où je veux en venir ou ce n'est pas très clair ? (pas forcément évident quand on débute... )

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour ta réponse.

    Concernant la modélisation, c'est un DBA qui s'en occupe, je n'ai aucun accès dessus.

    Comme vous me le conseillez, j'ai testé la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT T1.NOM AS NOM_BAIE, T3.NOM AS TYPE_MATERIEL
    FROM TYPES T3
    INNER JOIN LIEUS T1 ON T1.IDTYPE = T3.TYPEID
    WHERE T1.NOM BETWEEN 'E000' AND 'E255'
    OR T1.NOM BETWEEN 'V000' AND 'V255'
    ORDER BY T1.NOM ASC;
    Cela me renvoie des lignes, mais pas comme je le voudrait.
    En effet, il devrait y avoir plusieurs TYPE_MATÉRIEL par NOM_BAIE, cependant la requête me renvoie 1 type de matériel par nom de baie.
    Si vous avez une petite idée je suis preneur.

  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
    Bonjour,

    On va avoir des soucis à te répondre car ta description de table n'est pas assez explicite.
    Exemple à quoi correspondent les P et F devant les noms des tables ? (P=Primary Key, F=Foreign Key ?)
    Tu fais une jointure entre T1.IDTYPE et T3.TYPEID, es-tu sur que ce sont les bonnes colonnes à utiliser ?
    Parce que la table TYPES on ne sait pas :
    P TYPEID
    F IDTYPE
    NOM
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour, merci de ta réponse, le problème semble résolu avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT T1.NOM AS NOM_BAIE,  
    T3.NOM AS NOM_EQUIPEMENT, 
    (T2.TAILLEY / 44) AS TAILLE_U,  
    T4.NOM AS TYPE_MATERIEL 
      FROM EQUIPEMENTS T3 
        LEFT OUTER JOIN LIEUS T1 ON T1.LIEUID = T3.IDLIEU 
        LEFT OUTER JOIN COMPOSANTS T2 ON T2.COMPOSANTID = T3.IDCOMPOSANT 
        LEFT OUTER JOIN TYPES T4 ON T4.TYPEID = T3.IDTYPE 
      WHERE T3.ORDREDANSEQUIP = '-1000' 
      AND T3.NOM NOT LIKE '%RACK AR%' 
      AND T3.IDCOMPOSANT NOT LIKE '5041' 
      AND T3.NOM NOT LIKE 'PIDUPUB%' 
    ORDER BY T1.NOM ASC

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

Discussions similaires

  1. Requete sql vers ORACLE qui renvoi une erreur
    Par lilou77 dans le forum Oracle
    Réponses: 7
    Dernier message: 29/01/2007, 09h52
  2. probleme requete sql sous oracle 8
    Par bouclette dans le forum Oracle
    Réponses: 4
    Dernier message: 06/12/2006, 17h04
  3. Requete SQL avec Oracle
    Par gloglo dans le forum Oracle
    Réponses: 5
    Dernier message: 03/10/2006, 14h23
  4. Optimisation de requetes SQL sous oracle
    Par santana2006 dans le forum Oracle
    Réponses: 5
    Dernier message: 28/08/2006, 19h26
  5. [ADO] Requête SQL dans Oracle à partir d'access
    Par kika.93 dans le forum Access
    Réponses: 4
    Dernier message: 22/08/2006, 09h55

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