2012-12-11 47 views
1

Tables數據庫進行復雜的3路連接查詢

嗨,我有以下3個表,例如在其內部數據

患者:1,DUMMY PT,78936,1987年7月18日

Custom_fields: ,1, '血壓',輸入, '病歷'

patient_info:1,,九十零分之八十零等等等等,1


我想要的是,當我很有耐心頁,是得到所有行「patient_info」,其中pt_id = patients.patient_id然後拿到custom_fields.title = CF_ID其中doctor_id = $ ID 並顯示所有。

從它上面的數據應該給出例子是這樣的:

病人:虛擬PT的個人資料頁: -

血壓:80/90等等等等

任何暗示我應該如何加入這張桌子在一起?

注:我想:

SELECT patient_info.info,custom_fields.title FROM patient_info where patient_info.pt_id='8' and custom_fields.id=patient_info.cf_id and custom_fields.doctor_id = '10' 
join patients on patient_info.pt_id=patients.patients_id 
join custom_fields on patient_info.cf_id=custom_fields.id 

,其中10和8已經吉文斯($瓦爾在PHP),但即時得到錯誤附近 '加入病人'

+0

@ saharsh .->在編輯上加上 – Zalaboza

+0

爲什麼你要在其他條件之後加入其他表。語法是選擇然後從然後加入然後 –

回答

1

試試這個:

SELECT p.info,cf.title 
FROM patient_info p 
INNER JOIN patients ps ON p.pt_id=ps.patients_id 
INNER JOIN custom_fields cf ON p.cf_id=cf.id 
WHERE p.pt_id='8' AND cf.doctor_id = '10' 
+0

工作:d ..謝謝沒有注意到之前加入:/ tyty – Zalaboza

1

您可以使用下面的代碼

select * from patients P,Custom_fields CF,patient_info PI where PI.pt_id=p.patient_id 
and PI.cf_id=CF.id and CF.doctor_id='$id';