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 :

Resultat requete SQL


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 172
    Par défaut Resultat requete SQL
    Bonjour a tous,

    J'ai cette requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * FROM annonce 
    INNER JOIN reserv ON annonce.idannonce = reserv.idannonce 
    WHERE typeoffre='location' AND reserv.prix >= '300' AND activ='1' 
    GROUP by annonce.idannonce LIMIT 0, 4
    Je recherche les annonces dont le prix est superieur a 300 euros, or j'ai ce resultat :

    Tarifs à partir 200 €.

    En essayant cette requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM reserv
    WHERE prix >= '300' 
    GROUP by idannonce
    Meme resultat

    Voici les donnees de la table reserv :

    l'index: PRIMARY (Croissant) PRIMARY (Décroissant) aucune
    id idannonce datedeb datefin date_enreg prix etat
    6 3 2010-01-09 2010-01-16 2010-01-02 200 1
    7 3 2010-01-16 2010-01-23 2010-01-02 200 1
    8 3 2010-01-23 2010-01-30 2010-01-02 300 1
    9 3 2010-01-30 2010-02-06 2010-01-02 300 1


    Comment pourrais-je arranger la requete (au niveau du champs prix) pour exclure l'idannonce du resultat si un des prix est inferieur a 300€ ?

    EX : id 7 (idannonce 3) est a 200, donc j'enleve le 6 8 et 9

  2. #2
    Membre expérimenté Avatar de firehist
    Homme Profil pro
    Intégrateur Web Freelance
    Inscrit en
    Février 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 151
    Par défaut
    Bonsoir,

    Pourquoi tu utilise un GROUP BY ?

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 172
    Par défaut
    Pour ne proposer qu'une seule fois l'aanonce dans le resultat, il peut y a voir 50 reservations, ce ferait beaucoup de resultats pour une meme annonce.

  4. #4
    Membre expérimenté Avatar de firehist
    Homme Profil pro
    Intégrateur Web Freelance
    Inscrit en
    Février 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 151
    Par défaut
    Dans ce cas là je pense la requête est fausse, je WHERE s'exécute sur chaque tuple de la réponse et non chaque élement du GROUP...

    Essaye (ca te retourne UN SEUL résultat par idannonce)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT * FROM `test_annonce`
    GROUP BY idannonce
    HAVING prix >= 300
    ou cela (ca te retourne je pense ce que tu attend
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT *
    FROM  `test_annonce` 
    WHERE prix >= 300 AND idannonce NOT IN (select idannonce FROM test_annonce WHERE prix < 300)
    Sur ma base de donnée `test_annonce` test avec les données suivantes :
    id idannonce prix
    1 3 200
    2 3 200
    3 3 300
    4 3 300
    5 4 300
    6 4 500

    J'utilise la requête 1 et j'obtient
    id idannonce prix
    5 4 300

    J'utilise la requête 2 et j'obtient
    id idannonce prix
    5 4 300
    6 4 500

    Voilà.

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 172
    Par défaut
    Merci firehist.
    Je sais ou je bloque.

    Ma requete dans son integralité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $result = SELECT * FROM annonce 
    INNER JOIN reserv ON annonce.idannonce = reserv.idannonce 
    WHERE typeoffre='location' AND reserv.prix >= '300' AND activ='1' 
    GROUP by annonce.idannonce LIMIT 0, 4
    Ca c'est pour la premiere requete.

    Ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($val = mysql_fetch_array($result))
    Et la la requete sortant le prix :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $prixtest = "SELECT * FROM reserv WHERE idannonce='".$val['idannonce']."' AND etat='1'";
    je teste sur l'intrégralité de rows. En faisant un array des idannonce de $result et en faisant ma requete $prixtest. Je pense que ce fonctionnerai mais je ne sais pas comment traduire ca en SQL. Peux tu m'aider ?

    Merci

  6. #6
    Membre expérimenté Avatar de firehist
    Homme Profil pro
    Intégrateur Web Freelance
    Inscrit en
    Février 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 151
    Par défaut
    Euh

    Là je nage totalement.
    Tu réutilise ta première requête qui apparemment été fausse et que j'ai (je pense) corrigée.

    Explique moi

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/09/2011, 18h24
  2. [SQL2005][SSIS] resultat requete sql
    Par tehes dans le forum Développement
    Réponses: 4
    Dernier message: 05/12/2007, 17h08
  3. Resultat requete SQL dans MsgBox
    Par PhRey dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 11/01/2007, 11h03
  4. resultat requete SQL d'un select dans variable vb
    Par seb_06 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 11/10/2004, 16h29
  5. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43

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