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

PHP & Base de données Discussion :

[SQL] Problème de résultat avec une requête


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 24
    Points : 18
    Points
    18
    Par défaut [SQL] Problème de résultat avec une requête
    Bonjour !

    Je me trouve face à un problème depuis plusieurs jours et je me décide donc à demander un peu d'aide ici

    J'ai d'abord voulu récupérer les résultats (les informations des objets que possèdent le monstre 1 ayant un seuil de récupération supérieur à 150) d'une requete que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT n_objets.id_nom_objet,n_objets.nom_objet,n_objets.id_type_objet, n_objets.taux_objet
    FROM noms_objets AS n_objets, objets_monstre AS o_monstre, types_objets AS t_objets, monstre
    WHERE monstre.id_monstre = o_monstre.id_monstre_objet
    AND t_objets.id_type_objet = n_objets.id_type_objet
    AND t_objets.id_type_objet = o_monstre.id_type_objet
    AND n_objets.id_nom_objet = o_monstre.id_nom_objet
    AND o_monstre.id_monstre_objet=1
    AND n_objets.seuil<=150

    J'obtient donc ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    id_nom_objet  |	nom_objet  	| id_type_objet  |taux_objet
    2 	             | Epee Longue    |1 	             | 80
    3 	             | Hachette 	 | 1 	               | 80

    J'ai ensuite voulu récupérer les résultats (les informations des objets que possèdent le monstre 2 ayant un seuil de récupération supérieur à 150) d'une requete que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT n_objets.id_nom_objet, n_objets.nom_objet, n_objets.id_type_objet, n_objets.taux_objet
    FROM noms_objets AS n_objets, objets_monstre AS o_monstre, types_objets AS t_objets, monstre
    WHERE monstre.id_monstre = o_monstre.id_monstre_objet
    AND t_objets.id_type_objet = n_objets.id_type_objet
    AND t_objets.id_type_objet = o_monstre.id_type_objet
    AND n_objets.id_nom_objet = o_monstre.id_nom_objet
    AND o_monstre.id_monstre_objet=2
    AND n_objets.seuil<=150
    J'ai obtenu ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    id_nom_objet  |	nom_objet  	    |id_type_objet  |taux_objet
    4 	             | Fusil de Chasse    |1 	                | 40

    Mais j'ai ensuite fait la requete suivante, en combinant les 2 que je viens de vous donner, pour récupérer les informations des objets que possèdent les monstres 1 et 2 ayant un seuil de récupération supérieur à 150, qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT n_objets.id_nom_objet, n_objets.nom_objet, n_objets.id_type_objet, n_objets.taux_objet
    FROM noms_objets AS n_objets, objets_monstre AS o_monstre, types_objets AS t_objets, monstre
    WHERE monstre.id_monstre = o_monstre.id_monstre_objet
    AND t_objets.id_type_objet = n_objets.id_type_objet
    AND t_objets.id_type_objet = o_monstre.id_type_objet
    AND n_objets.id_nom_objet = o_monstre.id_nom_objet
    AND o_monstre.id_monstre_objet=1
    AND o_monstre.id_monstre_objet=2
    AND n_objets.seuil<=150
    Mais là, elle ne me retourne plu aucun résultat

    Elle aurait normalement du me retourner les résultats des 2 premières requetes combinées si je ne m'abuse ? :o

    J'espère avoir été assez clair

    Auriez vous donc une idée sur l'endroit d'où pourrait venir le problème et comment le résoudre ?


    Merci d'avance

  2. #2
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    essaye cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT n_objets.id_nom_objet, n_objets.nom_objet, n_objets.id_type_objet, n_objets.taux_objet 
    FROM noms_objets AS n_objets, objets_monstre AS o_monstre, types_objets AS t_objets, monstre 
    WHERE monstre.id_monstre = o_monstre.id_monstre_objet 
    AND t_objets.id_type_objet = n_objets.id_type_objet 
    AND t_objets.id_type_objet = o_monstre.id_type_objet 
    AND n_objets.id_nom_objet = o_monstre.id_nom_objet 
    AND o_monstre.id_monstre_objet IN (1,2) 
    AND n_objets.seuil<=150

    Car avant tu recuperais le resultat pour le monstre ayant un id = 1 et un id = 2 , chose non possible vu que si l'id = 1 il ne peut pas etre egal a 2
    Tout énigme a une solution ! Tout est question de discipline !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Alors là, je n'ai qu'un mot à dire : Bien joué Bebel
    Ca marche effectivement

    Merci beaucoup pour cette réponse rapide et efficace

    Ce topic est donc clos


    Merci encore

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

Discussions similaires

  1. Problème d'insertion avec une requête sql
    Par dutty_pi dans le forum JDBC
    Réponses: 5
    Dernier message: 14/03/2012, 13h58
  2. Réponses: 2
    Dernier message: 17/03/2011, 17h03
  3. problème de syntaxe avec une requête SQL
    Par funkyjul dans le forum Développement
    Réponses: 4
    Dernier message: 27/10/2008, 21h15
  4. [MySQL] [SQL] problème affichage résultat d'une requête
    Par mitmit dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/04/2007, 11h14
  5. [MySQL] problème de résultat avec une requête
    Par jexl dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/03/2006, 23h23

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