0
Mapping Table 

Desciption  ToID FromID 
Map A       2    1 


BaseTable

Id, Deccription, subTypeID
1   ValueA       9
2   ValueB       10`enter code here`

SubTypeTable
id  Description
9   SubType 9
10  Subtype 10 

我要返回的是映射表中的以下内容

MapDescription、ToID 的 SubTpeDescription、FromID 的 SubTpeDescription

所以基本上 MapA,Subtype9,Subtype 10 作为输出

我到目前为止所做的是

Select m.Description, st.Description from Mapping m 
right join BaseTable bt where m.toID = bt.id
right join BaseTable bt where m.FromID = bt.id,
inner join SubTypeTable stt on bt.subTypeID = stt.id
4

1 回答 1

1

当您第二次引用它时,您需要为您的表指定一个不同的别名。

Select m.Description, st.Description 
FROM BaseTable bt 
LEFT JOIN Mapping m where m.toID = bt.id
LEFT JOIN BaseTable bt2 where m.FromID = bt2.id,
inner join SubTypeTable stt on bt2.subTypeID = stt.id

我个人会从主表(基表)开始,朝着你需要的方向努力。而且我尽量避免右连接 - 通常当我使用它们时,这是由于计划不周。

于 2015-06-22T18:34:07.390 回答