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 :

Aide sur une requête!


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut Aide sur une requête!
    Bonjour tout le monde!

    Je suis en train de travailler sur un projet ayant une base de données sql comprennant une tables "annonce" et une table "offre d'achat".
    Une Offre est liée à une et une seule annonce, j'ai donc comme clé étrangère l'identifiant de l'annonce dans l'offre.

    Je dois faire une requête me permettant de récupérer toutes les données d'une offre et de l'annonce à laquelle elle se rapporte en fonction d'un utilisateur Je le fait de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM purchase_offers, phpclass_ad 
            WHERE phpclass_ad.ad_id = purchase_offers.ad_id
            AND purchase_offers.ad_owner_id ='$valid_user'
    Maintenant il se peut qu'une annonce soit effacée, mais les offres se rapportant à cette annonce ne sont pas effacées.

    Dans ce cas, je dois tout de même récupérer les données de l'offre.

    Ce que je veux au final c'est avoir une liste comprenant toutes les offres d'un utilisateur et l'annonce a laquel elles sont liées. Dans le cas ou l'annonce n'est pas effacée, je dois également avoir les données de l'annonce, mais dans le cas contraire, avoir simplement les données de l'offre et indiquer que l'annonce a été effacée.

    J'espère être plus ou moins clair...

    Mais je ne vois pas comment faire ma requête pour avoir ce fonctionnement... Pour le moment, la requete que j'ai fonction quand l'annonce n'est pas effacée, mais si elle l'est et bien la clause where ne tiens pas compte des offres se rapportant a une annonce effacée.

    Pouvez-vous m'aider?

  2. #2
    Membre confirmé Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Points : 481
    Points
    481
    Par défaut
    Bonjour,

    Je te conseille d'orienter tes recherches du côté des jointures externes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ...
    FROM purchase_offers LEFT OUTER JOIN phpclass_ad ON purchase_offers.ad_id = phpclass_ad.ad_id
    WHERE ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut
    Merci beaucoup de ta réponse, ca a l'air d'être exactement ce que je recherche. Je vais continuer mes investigations!

Discussions similaires

  1. [SQL] Besoin d'aide sur une requête
    Par Angath dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/01/2006, 17h26
  2. Réponses: 1
    Dernier message: 03/08/2005, 12h41
  3. Besoin d'aide sur une requête (JOIN + COUNT ?)
    Par PanzerKunst dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/06/2005, 11h29
  4. Aide sur une requête
    Par TshAw dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/02/2005, 12h42
  5. Aide sur une requête (Group By...??)
    Par Cocolapin dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/12/2004, 11h26

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