2013-02-08 89 views
0

在MS SQL Server上,我想在一個選擇中加入一些表。如何加入幾個表?

表:

追蹤:

Segment_ID | Track_INFO 

SEGMENT_ID:

Segment_ID | Road_ID 

道:

Road_ID | Road_INFO 

所以我要選擇跟蹤和路表的信息。我知道如何加入兩個表格:

SELECT 

    Segment_ID = T1.Segment_ID, 
    Track = T1.Track, 
    --Road_ID = Segment_ID.Road_ID 


FROM dbo.Track T1,dbo.Road T2 
LEFT JOIN Segment_ID Segment_ID ON Segment_ID.Segment_ID = T1.Segment_ID 
--LEFT JOIN Road Road_ID ON Road.Road_ID = Segment_ID.Road_ID 

但是,如何使JOIN在我的情況?

回答

2
select * 
from Track inner join Segment_ID on Track.Segment_ID = Segment_ID.Segment_ID 
inner join Road on Segment_ID.Road_ID = Road.Road_ID 

也可以改變 「內加入」 s到 「左加入」 S取決於行爲你想

+0

感謝你的真正幫助我) – 2013-02-08 16:03:34

2

試試這個:

SELECT t.*, r.* 
FROM track t 
INNER JOIN segment s ON t.Segment_ID = s.Segment_ID 
INNER JOIN road r ON s.Road_ID = s.Road_ID 
5

試試這個:

SELECT Track.Track_INFO, Road.Road_INFO 
FROM Track 
INNER JOIN Segment_ID ON Segment_ID.Segment_ID = Track.Segment_ID 
INNER JOIN Road ON Segment_ID.Road_ID = Road.RodaID 

而且,如果您有空標記,也許您需要LEFT加入...

2

儘量避免現在已經過時的表格連接。加盟表

FROM Table1 T1, Table2 T2 
WHERE T1.id = T2.id 

更好的方法是使用INNER JOIN(或JOIN),LEFT JOINRIGHT JOIN根據您的要求等;

這裏有一些很好graphical examplesJOINS和什麼樣的結果,他們帶來