Jointure de table

vrachid Messages postés 109 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 octobre 2011 - 20 juil. 2009 à 19:00
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 31 oct. 2009 à 13:26
Bonjour à tous,
voila comme je travaille dans un cabinet médical j'ai crée une petite application pour la gestion des patients, qui contient une form pour la recherche par différente critère,
mon probleme est que je n'arrive pas à trouver la bonne forme pour joindre deux table;
j'ai une table qui contient les patients et une autre qui contient les consultation et les deux ont un champ chacune qui est nommé Id_Patient, c une clé primaire (index) dans la table patient mais pas dans l'autre ;
alors svp si vous pouviez m'aider à bien formuler la requete de recherche avec jointure
je voudrai par exemple rechercher tous les patients qui sont atteint d'une quelconque maladie.
je vous remercie beaucoup et reste a votre disposition vous plus de précisions

Merci.

3 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
20 juil. 2009 à 20:23
Salut

SELECT * FROM PATIENT p
INNER JOIN Consultation c
ON p.Id_Patient = c.Id_Patient
WHERE c.maladie = 'grippe'

Une requête de ce style peut t'aider à résoudre ton probleme.

Bon dev
0
vrachid Messages postés 109 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 octobre 2011
31 oct. 2009 à 13:10
bonjour,
voila j'ai essayé, mais sans résultat, si vous pouvez m'aider:

voici la requete que j'utilise:
with DM.AConsult do
begin
close;
sql.Clear;
sql.Text:='SELECT * FROM Patient p INNER JOIN Consult c On p.Id_Patient = c.Id_Patient WHERE c.Diagno LIKE "%'+Diag.text+'%"';.
active:=true;
end;

à l'execution ce message d'erreur apparait:
"AConsult champ Id_Patient non trouvé".

merci encore pour votre aide
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
31 oct. 2009 à 13:26
Salut,

Il faut aliasé ton champ
exemple

select p.id_patient as p_patient_id, ....
from Patient p 


et dans l'utilisation tu utilises "p_patient_id"

Il est conseillé de mettre tous les champs utilisé dans le select
eviter le * (pour des reaisons de performances)

Bon dev
0
Rejoignez-nous