首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

多表查询的有关问题 急

2012-01-19 
多表查询的问题急啊,在线等selectdistincta.EmployeeCode,a.EmployeeName,,a.Retirement_dayb.Belong2Name

多表查询的问题 急啊,在线等
select     distinct
a.EmployeeCode   ,   a.EmployeeName,   ,     a.Retirement_day     b.Belong2Name   ,  
c.Belong3Name,   d.Storename
from    
a   ,b   ,c     ,d   ,   f  
where          
        a.EmployeeManagementID   =   f.EmployeeManagementID
and   c.Belong3Code=f.Division
and   b.Belong2Code=f.Belonging
and   d.Storecode=f.Store
and   a.Retirement_day= '2007-04-30   00:00:00.000 '


麻烦帮我看下这个该怎么改阿?   其中:a.EmployeeCode   ,   a.EmployeeName,   ,     a.Retirement_day   这三个必须查出来,其他三个b.Belong2Name   ,   c.Belong3Name,   d.Storename
可能为空,现在这个语句出不出空的,要所有项都有数据的才能查出来,急啊
帮我看下怎莫改?

[解决办法]
select distinct
a.EmployeeCode , a.EmployeeName, , a.Retirement_day b.Belong2Name ,
c.Belong3Name, d.Storename
from
a
left join f on a.EmployeeManagementID = f.EmployeeManagementID
left join b on b.Belong2Code=f.Belonging
left join c on c.Belong3Code=f.Division
left join d on d.Storecode=f.Store

wher
and a.Retirement_day= '2007-04-30 00:00:00.000 '
[解决办法]
from
a ,b ,c ,d , f
相当于 from a inner join b on
inner join c on ...
应改成Left Join
----------------------------------
Select Distinct
a.EmployeeCode,a.EmployeeName,a.Retirement_day,b.Belong2Name,
c.Belong3Name,d.Storename
From
a
Left Join f
On a.EmployeeManagementID = f.EmployeeManagementID
Left Join c
On c.Belong3Code=f.Division
Left Join b
On b.Belong2Code=f.Belonging
Left Join d
On d.Storecode=f.Store
Where a.Retirement_day= '2007-04-30 00:00:00.000 '

热点排行