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 :

Probleme de requete avec jointure


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Probleme de requete avec jointure
    Bonjour,

    Je suis entrain de créer une requête SQL avec jointure pour afficher certaines informations dans un tableau.

    J'ai 3 tables :
    *Une contenant uniquement des ids : Id - Id_nom - Id_action_journée - Id_actions_nuit
    *Une contenant les servers : Id - Nom_serveur
    *Une contenant les actions : Id - actions

    A partir de la table index je voudrais retourner un tableau avec le Nom_serveur, Action_journée et action_nuit.

    Voila la requête que j'ai déjà faite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT Server_name, Action AS Action_Open FROM indextab IR
    LEFT JOIN servers S
    ON IR.Id_Server = S.Id_Server
    LEFT JOIN actions A
    ON IR.Id_Actions_Open = A.Id_Action
    Avec ça je récupère bien le nom du serveur avec l'action de la journée associe, mais je n'arrive pas a rajouter l'action de nuit.

    J'ai essayer de rajouter un autre LEFT JOIN mais conflits avec la table actions.

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut,

    peux tu poster la requête qui ne fonctionne pas et le message d'erreur associé?

    Merci

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Merci pour cette réponse rapide.

    J'ai fait plusieurs test.

    1er test
    Voila ce que j'ai tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     SELECT Server_name,
    ACTION AS Action_Open
    FROM indextab IR
    LEFT JOIN servers S ON IR.Id_Server = S.Id_Server
    LEFT JOIN actions A ON IR.Id_Actions_Open = A.Id_Action
    UNION
    SELECT Server_name,
    ACTION AS Action_Closed
    FROM indextab IR
    LEFT JOIN servers S ON IR.Id_Server = S.Id_Server
    LEFT JOIN actions A ON IR.Id_Actions_Closed = A.Id_Action
    Cette requête fonctionne mais ca n'affiche pas comme je veut:
    Server_name----------Action_Open

    server1---------------Action1
    Server2---------------Action2
    Server1---------------Action3
    Server2---------------Action4
    Les deux dernières lignes correspondent a ce que je veut mettre dans la colonne Action_closed(action de nuit), dans ce genre la :
    Server_name----------Action_Open---------Action_closed

    server1---------------Action1--------------Action3
    Server2---------------Action2--------------Action4


    Et le deuxième test qui ne marche pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT Server_name, Action AS Action_Open, Action AS Action_Closed FROM indextab IR 
    JOIN servers S
    ON IR.Id_Server = S.Id_Server
    JOIN actions A
    ON IR.Id_Actions_Open = A.Id_Action
    JOIN actions A
    ON IR.Id_Actions_Closed = A.Id_Action

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Bonjour,

    Tu peux essayer comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT Server_name, actions_journée.Action AS Action_Open, actions_nuit.Action AS Action_Closed 
    FROM indextab IR
    LEFT JOIN servers S
    ON IR.Id_Server = S.Id_Server
    LEFT JOIN actions actions_journée
    ON IR.Id_Actions_Open = A.Id_Action
    LEFT JOIN actions actions_nuit
    ON IR.Id_Actions_Open = A.Id_Action

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Merci a toi Snipah, ça marche c'est ce que je cherchai.
    J'ai juste remplacer le IR.Id_Actions_Open de la fin par IR.Id_Actions_Closed.

    Merci a tous. bonne journée

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Citation Envoyé par Apo75 Voir le message
    J'ai juste remplacer le IR.Id_Actions_Open de la fin par IR.Id_Actions_Closed.
    Ah oui, encore une étourderie, je les accumule aujourd'hui

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

Discussions similaires

  1. Probleme de requete avec simple jointure
    Par Setsuna_00 dans le forum Requêtes
    Réponses: 5
    Dernier message: 13/03/2009, 08h40
  2. Probleme de requete avec jointure avec vb 2005
    Par napegadie dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/04/2007, 21h04
  3. Probleme de requetes avec SQLQuery
    Par Floverdoz dans le forum Bases de données
    Réponses: 19
    Dernier message: 01/06/2005, 16h43
  4. probleme de requete avec reprise du resultat :
    Par Maxoo dans le forum Langage SQL
    Réponses: 6
    Dernier message: 13/12/2004, 20h05
  5. requete avec jointure & group by
    Par de LANFRANCHI dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/07/2004, 14h31

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