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 MySQL Discussion :

Problème jointure mysql


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Points : 132
    Points
    132
    Par défaut Problème jointure mysql
    Bonjour,

    Encore un pb de jointure

    Avec cette requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SELECT
    ENV.NAME_ENV,ENV.ID_ENV,T1.NAME_SERVER
    FROM
    ENV
    left join
    (SELECT  SERVER.NAME_SERVER , HOST.ID_ENV FROM HOST,SERVER
    WHERE  HOST.ID_SERVER=SERVER.ID_SERVER
    AND SERVER.NAME_SERVER ='TITI'
    ) AS T1
    on
    ENV.ID_ENV = T1.ID_ENV;
    Avec un paramètre : NAME_SERVER ='TITI'
    J'arrive à sortir les informations suivantes :


    Pour un serveur donné qui s'appel TITI que sais qu'il est affacté à l'envirronnement de PROD et DEV.

    +----------+--------+-------------+
    | NAME_ENV | ID_ENV | NAME_SERVER |
    +----------+--------+-------------+
    | PROD | 1 | TITI |
    | RECETTE | 2 | NULL |
    | DEV | 3 | TITI |
    +----------+--------+-------------+

    Maitenant je voudrais sortir les infos suivantes :
    Avec 2 paramètres :
    NAME_SERVER ='TITI'
    NAME_APP ='APPTEST1'

    +----------+-------------+----------+-------------+
    | NAME_ENV | NAME_SERVER | NAME_APP | STATUS |
    +----------+-------------+----------+-------------+
    | PROD | TITI | APPTEST1 | OK |
    | RECETTE | TITI | APPTEST1 | |
    | INT | TITI | APPTEST1 | |
    | DEV | TITI | APPTEST1 | OK |

    Ainsi je peux savoir que en PROD j'ai le serveur TITI qui contient APPTEST1

    Une idée sur la requete à faire svp ???

    merci d'avance.

    PI voici mes tables :
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    CREATE TABLE SERVER (
    ID_SERVER INT NOT NULL AUTO_INCREMENT,
    DATE_SERVER TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    IP_REQ_SERVER VARCHAR(15),
    STATUS_SERVER VARCHAR(50),
    NAME_SERVER  VARCHAR(50) NOT NULL,
    DESC_SERVER VARCHAR(1000),
    COM_SERVER VARCHAR(1000),
    PRIMARY KEY (ID_SERVER),
    UNIQUE KEY (NAME_SERVER)
    ); 
     
    CREATE TABLE APP (
    ID_APP INT NOT NULL AUTO_INCREMENT,
    DATE_APP TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    IP_REQ_APP VARCHAR(15),
    STATUS_APP VARCHAR(50),
    NAME_APP VARCHAR(50) NOT NULL,
    DESC_APP VARCHAR(1000),
    COM_APP VARCHAR(1000),
    DOC_APP VARCHAR(1000),
    CODE_APP VARCHAR(1000),
    PRIMARY KEY (ID_APP),
    UNIQUE KEY (NAME_APP)
    ); 
     
    CREATE TABLE RPA (
    ID_RPA INT NOT NULL AUTO_INCREMENT,
    DATE_RPA TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    IP_REQ_RPA VARCHAR(15),
    STATUS_RPA VARCHAR(50),
    NAME_RPA VARCHAR(50) NOT NULL,
    COM_RPA VARCHAR(1000),
    PRIMARY KEY (ID_RPA),
    UNIQUE KEY (NAME_RPA)
    ); 
     
    CREATE TABLE ENV (
    ID_ENV INT NOT NULL AUTO_INCREMENT,
    DATE_ENV TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    IP_REQ_ENV VARCHAR(15),
    STATUS_ENV VARCHAR(50),
    NAME_ENV VARCHAR(50) NOT NULL,
    DESC_ENV VARCHAR(1000),
    COM_ENV VARCHAR(1000),
    PRIMARY KEY (ID_ENV),
    UNIQUE KEY (NAME_ENV)
    ); 
     
    CREATE TABLE HOST (
    ID_APP INT NOT NULL,
    ID_ENV INT NOT NULL,
    ID_SERVER INT NOT NULL,
    FOREIGN KEY (ID_APP) REFERENCES APP(ID_APP),
    FOREIGN KEY (ID_ENV) REFERENCES ENV(ID_ENV),
    FOREIGN KEY (ID_SERVER) REFERENCES SERVER(ID_SERVER),
    PRIMARY KEY (ID_APP, ID_ENV, ID_SERVER)
    ); 
     
    CREATE TABLE RESPONSIBLE (
    ID_APP INT NOT NULL,
    ID_RPA INT NOT NULL,
    FOREIGN KEY (ID_APP) REFERENCES APP(ID_APP),
    FOREIGN KEY (ID_RPA) REFERENCES RPA(ID_RPA),
    PRIMARY KEY (ID_APP, ID_RPA)
    ); 
     
     
    CREATE TABLE USER (
    ID_USER INT NOT NULL AUTO_INCREMENT,
    LOGIN_USER VARCHAR(50) NOT NULL,
    PWD_USER VARCHAR(50) NOT NULL,
    PRIMARY KEY (ID_USER)
    );

  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 faut encore passer par une jointure externe.
    Pour la modélisation du 'OK' utilisez une structure CASE / WHEN

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Points : 132
    Points
    132
    Par défaut
    Merci pour ta réponse.

    En oubliant la modélisation du OK qui ne me servira pas en fait comment modéliser la requete je ne vois pas ...

    Merci davance.

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Points : 132
    Points
    132
    Par défaut
    Pas d'idées svp ??

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

Discussions similaires

  1. Problème Jointure MySQL
    Par Soward dans le forum Langage SQL
    Réponses: 4
    Dernier message: 08/11/2009, 15h36
  2. Problème jointure MySQL
    Par mickael.be dans le forum Requêtes
    Réponses: 4
    Dernier message: 21/12/2007, 09h57
  3. Réponses: 4
    Dernier message: 29/06/2007, 16h08
  4. Problème jointure gauche qui ne passe plus sous MySQL 5
    Par OuiOui007 dans le forum Requêtes
    Réponses: 3
    Dernier message: 21/09/2006, 10h33

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