日期:2014-05-17  浏览次数:21003 次

我有几个表,怎样写多表联合查询的SQL语句
表一:DepartmentItem
字段名称           数据类型(大小) 是否主键 是否为空 默认值 描述
ID           Int                 Y   N
ArchitectureID   Varchar(40) N         编号
ItemID           uniqueidentifier N     关联 Item 表
IndexID           Smallint       该部门排序ID

表二:Architecture
字段名称           数据类型(大小) 是否主键 是否为空 默认值 描述
 ID                archar(40)
 Name 
              Varchar(50)
表三:Item
字段名称           数据类型(大小) 是否主键 是否为空 默认值 描述
ID               uniqueidentifier
Name               varchar(20)
怎样查出DepartmentItem的ID,DepartmentItem的IndexID和Architecture的name,和Item的name
各位帮忙解决哈

------解决方案--------------------
select 
A.ID
A.IndexID
B.Name
C.Name
from DepartmentItem A
left join Architecture B on B.ID=A.ID
left join Item B on C.ID=A.ID

这个你试下

------解决方案--------------------
引用:
select 
A.ID
A.IndexID
B.Name
C.Name
from DepartmentItem A
left join Architecture B on B.ID=A.ID
left join Item B on C.ID=A.ID

这个你试下

你表1,2,3里面的ID的字符型怎么都不一样啊,这样用Left Join可能会报错...
------解决方案--------------------
select 
A.ID
A.IndexID
B.Name
C.Name
from DepartmentItem A
left join Architecture B on to_char(B.ID)=A.ID
left join Item C on to_char(C.ID)=A.ID
试下