有类似如下表:(其中1ID,2ID,3ID为关键字)表1: 1ID, 1Name 2ID 3ID
1 张三 1 1
2 李四 1 2
3 王五 2 1表2: 2ID, 2Name
1 北京
2 天津 表3: 3ID, 3Name
1 中国
2 美国需得出如下表:
1ID, 1Name 2ID 3ID 2Name 3Name
1 张三 1 1 北京 中国
2 李四 1 2 北京 美国
3 王五 2 1 天津 中国
1 张三 1 1
2 李四 1 2
3 王五 2 1表2: 2ID, 2Name
1 北京
2 天津 表3: 3ID, 3Name
1 中国
2 美国需得出如下表:
1ID, 1Name 2ID 3ID 2Name 3Name
1 张三 1 1 北京 中国
2 李四 1 2 北京 美国
3 王五 2 1 天津 中国
a.*,
b.[2name],
c.[3name]
from [表1] a
left join [表2] b on a.[2ID]=b.[2ID]
left join [表3] c on a.[3ID]=c.[3ID]
from 表1 a join 表2 b on a.[2ID] = b.[2ID]
join 表3 c on a.[3ID] = b.[3ID]
(
[1ID] int ,
[1Name] varchar(10),
[2ID] int,
[3ID] int,
)create table b
(
[2ID] int ,
[2Name] varchar(10),
)create table c
(
[3ID] int ,
[3Name] varchar(10),
)insert into a
select 1 , ' 张三', 1 , 1 union all
select 2 , '李四', 1 , 2 union all
select 3 ,'王五' , 2 ,1insert into b
select 1 ,'北京' union all
select 2 ,'天津' insert into c
select 1 ,'中国' union all
select 2 ,'美国'
--
select a.*, b.[2Name], c.[3Name]
from a
join b on a.[2ID] = b.[2ID]
join c on a.[3ID] = c.[3ID]1ID 1Name 2ID 3ID 2Name 3Name
----------- ---------- ----------- ----------- ---------- ----------
1 张三 1 1 北京 中国
2 李四 1 2 北京 美国
3 王五 2 1 天津 中国(所影响的行数为 3 行)drop table a ,b ,c