Aller au contenu

problème de requete avec jointure


genmin

Sujets conseillés

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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+

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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