--Info表里有多个字段(如:DeptID,DeptID2)分别与Dept表的ID字段对应
--联合查询Info及Dept表,要求结果是:Info表里的所有字段 及 Info表里的DeptID,DeptID2等字段在Dept表中对应的Title字段
Create Table [Dept] (
[ID] int primary key ,
[Title] varchar(255),
[ParentID] int
)
GO
insert into Dept select 1,'分类1',0
insert into Dept select 2,'分类2',1
insert into Dept select 3,'分类3',1
insert into Dept select 4,'分类4',2
insert into Dept select 5,'分类5',3
GO
Create Table [Info] (
[Title] varchar(255),
[DeptID] int,
[DeptID2] int,
)
GO
insert into Info select '文章1',1,3
insert into Info select '文章2',2,3
insert into Info select '文章3',5,4
insert into Info select '文章4',3,2
insert into Info select '文章5',100,4 --第DeptID不在Dept表
insert into Info select '文章6',4,100 --第DeptID2不在Dept表
GO
select a.Title,a.DeptID,a.deptID2,d1.Title as DeptIDTitle,d2.Title as DeptID2Title from Info a
left join
Dept d1 on a.DeptID=d1.ID
left join
Dept d2 on a.DeptID2 = d2.ID
drop table Dept
drop table Info
--显示结果
/*
Title DeptID DeptID2 DeptIDTitle DeptID2Time
文章1 1 3 分类1 分类3
文章2 2 3 分类2 分类3
文章3 5 4 分类5 分类4
文章4 3 2 分类3 分类2
文章5 100 4 NULL 分类4
文章6 4 100 分类4 NULL
*/