Aller au contenu

problème de requete avec jointure


Sujets conseillés

Posté

Bonjour, je cherche à ecrire une requete avec jointure de deux tables.

Voilà, j'ai une table annonces avec des annonces immobilières, et une deuxième avec les enregistrements des prix des annonces, mais il peut y avoir plusieur enregistrement si jamais le prix change. voici un exemple :

table annonces :

ID | type

1 | appartement

2 | maison

table prix:

ID | ID_annonces | prix | date

1 | 1 | 100000 | 2006-12-20

2 | 2 | 500000 | 2006-12-28

3 | 1 | 98000 | 2007-01-05

et je voudrai afficher ceci :

ID | type | prix | date

1 | appartement | 98000 | 2007-01-05

2 | maison | 500000 | 2006-12-28

merci d'avance pour tout renseignement.

Posté

Bonjour Genmin,

En toute logique la requête serait :

SELECT *
FROM annonces
INNER JOIN prix
ON annonces.ID = prix.ID_annonces

Dans ce cas, en cas de changement de prix, le nouveau prix sera automatiquement repris dans le résultat de la requête.

Personnellement je ne vois l'intérêt de dissocier l'annonce du prix, étant donné que le prix diffère pour chaque logement ... :unsure:

Sans plus de détail sur ce que tu veux, je ne peux pas dire plus pour le moment.

Bon travail.

Posté

bonjour, et merci pour vos réponse, effectivement j'ai fais ce choix pour garder un historique du prix.

J'ai encore un petit problème, la requete que Harry_20 m'a donné donne pas le résultat attendu mais :

ID | type | prix | date

1 | appartement | 100000 | 2007-01-20

2 | appartement | 98000 | 2007-01-05

3 | maison | 500000 | 2006-12-28

comment faire pour n'avoir que le prix le plus récent ??

A+

Posté (modifié)

Tu vas être obligé de le faire avec deux requetes je pense.

Mais je te conseille de voir le problème autrement : Tu garde tes deux tables, mais tu ajoute le prix dans la table des annonces.

Quand une annonce change de prix, tu fais :

UPDATE annonce SET prix = ... WHERE ID = ...

INSERT INTO prix (ID_annonce, prix, date) VALUES (..., ..., ...)

et pour afficher tes annonces ça devient donc super simple :

SELECT * FROM annonces

En fait, vu que tu as créé la table "prix" pour gérer un historique, va jusqu'au bout de l'idée, sert toi en uniquement d'historique

Modifié par Findel
Posté

effectivement c'est pas idiot comme réflection, je vais surement partir la dessus.

Merci Findel

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...