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


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut Probleme de requete
    Bonjour,

    Je suis en train de créer une base de donnée online pour un jeu.

    J'ai donc 2 tables :

    - La table `objet`:
    ID | Name

    - La table `monstre` :
    ID | Name | item1id | item1rate | item2id | item2rate

    Sachant que je suis déja dans une boucle où je connais les informations monstre.id et monstre.name de la ligne du monstre.

    Comment faire en une seule requete associer les id du monstre à leur nom tout en gardant leur rate.

    Merci de votre aide

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 109
    Points : 28 437
    Points
    28 437
    Par défaut
    Il faut utiliser une jointure

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Oui je l'en doute bien et si je viens poster ici ce n'est pas sans avoir fait quelques recherches/essais.

    Mon plus concluant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT objet.id, monstre.Drop1id, objet.nom, Drop1rate, monstre.DropCardid, objet.nom, DropCardrate, monstre.ID
    FROM objet
    LEFT OUTER JOIN monstre
    ON (objet.ID = monstre.Drop1id
    OR objet.ID = monstre.DropCardid )
    WHERE monstre.ID =1002
    Me renvoie 2 lignes avec le premier objet dans la premiere et le deuxieme dans la deuxieme et les rates sont les memes dans chaque ligne dispersés par colonnes.

    Un idée?

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 109
    Points : 28 437
    Points
    28 437
    Par défaut
    Entre ton premier post et le second, des colonnes sont apparues dans tes structures...
    Et je ne comprends pas ce que tu voudrais faire.
    Un petit exemple ?

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 22
    Points : 12
    Points
    12
    Par défaut
    ouaaaaaaaaaaaa on a tout de suite reconnu les bases Lineage ! huhuhu
    moi je dirais si j'ai bien comprit que tu veut te servir d'un lien entre ces deux tables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT objet.id, monstre.Drop1id, objet.nom, Drop1rate, monstre.DropCardid, objet.nom, DropCardrate, monstre.ID
    FROM objet, monstre
    WHERE monstre.ID =1002
    AND objet.id = monstre.Drop1id (si ce sont tes 2 clefs primaires)
    voilouu

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    - La table `objet`:
    ID | Name

    - La table `monstre` :
    ID | Name | item1id | item1rate | item2id | item2rate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT objet.id, monstre.item1id, objet.name, item1rate, monstre.item2id, objet.name, item2rate, monstre.ID
    FROM objet 
    LEFT OUTER JOIN monstre
    ON (objet.ID = monstre.item1rate
    OR objet.ID = monstre.item2id )
    WHERE monstre.ID =1002
    Désolé voir j'ai refait ma requete

    @kowabunga : Ca ne me donne pas ce que je veux puisque tu fais le lien avec un seul des 2 objets, et le faire avec 2 objets renvoie rien.

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 109
    Points : 28 437
    Points
    28 437
    Par défaut
    C'est peut-être ça que tu cherches à faire ?
    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
    SELECT  monstre.ID
        ,   monstre.item1id
        ,   objet1.name
        ,   monstre.item1rate
        ,   monstre.item2id
        ,   objet2.name
        ,   monstre.item2rate
    FROM    monstre
        LEFT OUTER JOIN 
            objet   AS objet1
            ON  objet1.ID = monstre.item1id
        LEFT OUTER JOIN 
            objet   AS objet2
            ON  objet2.ID = monstre.item2id
    WHERE monstre.ID =1002
    ;

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Ca y ressemble un peu plus sauf que les SELECT objet1.name et objet2.name me donnent le memenom : celui du premier objet.

  9. #9
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 109
    Points : 28 437
    Points
    28 437
    Par défaut
    Et après correction ?

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Ok suis je bete j'avais pas vu.
    Ca fonctionne merci beaucoup de ton aide je pensais pas qu'on pouvait faire ca comme ca

  11. #11
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 109
    Points : 28 437
    Points
    28 437
    Par défaut
    N'hésitez pas à consulter les cours SQL

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

Discussions similaires

  1. probleme de requete
    Par doudou1 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/04/2004, 13h42
  2. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45
  3. PROBLEME DE REQUETE IMBRIQUEE
    Par fleuve007 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/12/2003, 15h33
  4. probleme de requete
    Par LineLe dans le forum ASP
    Réponses: 8
    Dernier message: 17/09/2003, 16h47
  5. Probleme de requete
    Par misterbillyboy dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/07/2003, 08h24

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