2011-10-07 89 views
5

我正在尋找一種方法來執行從一個源表到多個表的多個連接。類似以下內容:SQL Server多個LEFT JOIN,一對多

SELECT a.NAME, b.address, c.phone 
FROM tblname a 
LEFT JOIN tbladdress b ON a.nid = b.nid 

我也想執行左鍵的同時加入對電話表tblPhone

tblname a left join tblPhone c on a.PID = c.PID 

嘗試,因爲我可能,我不能看到如何把這個到一個查詢中。

+0

如果名字已經6點的地址和5個手機相關的,你想要的結果,有待?每排有30行? –

+0

在這種情況下,地址和電話是唯一的/每個值。謝謝你的建議我得到它與RedFilter的答案 –

回答

15

你可以簡單地重複你JOIN條款多次是必要的,例如:

SELECT a.NAME 
    ,b.address 
    ,c.phone 
FROM tblname a 
LEFT JOIN tbladdress b ON a.nid = b.nid 
LEFT JOIN tblPhone c ON a.PID = c.PID 
2
SELECT a.name, b.address, c.phone 
FROM tblname a 
left join tbladdress b on a.nid = b.nid 
left join tblPhone c on a.PID = c.PID; 
+0

天空是極限。只是不要超過42個連接。 –

0
SELECT a.name, b.address, c.phone 
FROM (tblname a 
    left join tbladdress b on a.nid = b.nid) c 
left join tblPhone d on c.PID=d.PID