2014-12-07 79 views
1

只需要一些幫助做多個連接,它第一次即時通訊嘗試此並希望它的工作。使用多個連接進行mysql查詢

我有4個表的數據,需要從表中獲取多個數據。

我有一個病人,手術,治療和數據表。

治療表具有與其他表相關的ID。

我想用這張表格來得到患者接受治療的日期以及他們將要進行的手術。

所以基本上查詢將輸出:

日期 患者姓名 處理名稱 操作名稱

我希望有人能幫助我創建一個查詢,希望能夠得到這樣的事情,而不使用數據透視表。

下面是創建虛擬數據SQLFiddle - 隨意編輯此: http://sqlfiddle.com/#!2/2f3c53

我試圖用自己查詢的一部分,但我覺得這可能需要一個子查詢或不同的連接。任何幫助表示讚賞!

回答

0

這是一個基本join查詢中,你應該使用明確的join語法。如果您正在學習SQL,請正確學習:

SELECT d.date, p.firstname, p.lastname, tt.treatmentname, o.operationname 
FROM treatment_type tt LEFT JOIN 
    date d 
    ON tt.DateID = d.ID LEFT JOIN 
    operation o 
    ON tt.OperationID = o.ID LEFT JOIN 
    patients p 
    ON tt.PatientID = p.ID; 

對於您的示例數據,操作似乎沒有匹配。因此需要LEFT JOINHere是一個SQL小提琴。

+0

謝謝工作很好! – 2014-12-07 03:45:08

0
SELECT * 
FROM date, operation, patients, treatment_type 
WHERE treatment_type.PatientID = patients.ID 
AND treatment_type.OperationID = operation.ID 
AND treatment_type.DateID = date.ID