genmin Posté 27 Décembre 2006 Partager Posté 27 Décembre 2006 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 More sharing options...
Harry_20 Posté 27 Décembre 2006 Partager Posté 27 Décembre 2006 Bonjour Genmin, En toute logique la requête serait : SELECT *FROM annoncesINNER JOIN prixON 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 ... 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 More sharing options...
captain_torche Posté 27 Décembre 2006 Partager Posté 27 Décembre 2006 Dissocier l'annonce du prix, permet d'avoir un historique de ce dernier. Lien vers le commentaire Partager sur d’autres sites More sharing options...
genmin Posté 28 Décembre 2006 Auteur Partager Posté 28 Décembre 2006 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 More sharing options...
Findel Posté 28 Décembre 2006 Partager Posté 28 Décembre 2006 (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é 28 Décembre 2006 par Findel Lien vers le commentaire Partager sur d’autres sites More sharing options...
genmin Posté 28 Décembre 2006 Auteur Partager Posté 28 Décembre 2006 effectivement c'est pas idiot comme réflection, je vais surement partir la dessus. Merci Findel Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant