两个右连接/右+外连接等不起作用

时间:2015-05-01 15:09:59

标签: sql sql-server-2008

我有3张桌子:

Salesman表(包含所有销售员ID号及其名称),周数表(仅包含53个编号条目的表)以及包含所有销售额的销售数据表。

我需要所有销售员的输出,所有周,即使是0.我可以获得所有周的列表,或所有推销员,但不是两者。

这是我到目前为止所做的:

SELECT
DATEPART(wk, d1.u_date) as 'Week', 
d4.week AS 'AllWeeks',
convert(decimal,d1.U_slsm) as 'Salesman', 
S1.SalesmanNum   

from [test].[dbo].[@ORDERLOG] D1
right outer join [test].[dbo].[@weekcounter] d4 on (d4.week = DATEPART(wk, d1.u_date) and DATEPART(yy, d1.u_date) > 2014)
full outer join (select salesmannum from EXECUTIVE...Salesman) S1 on convert(decimal,d1.U_slsm) = S1.salesmannum 

order by d4.Week, S1.SalesmanNum 

即使没有销售(期望),这给了我所有53周的时间,并且它给了我所有销售人员每周都有销售(期望),但它只给了我一个没有销售人员的实例有销售。我每个星期都需要所有推销员。 20名推销员,53周,1060个结果。我究竟做错了什么?或者有更好的方法吗?

这最终将包括销售数据,但到目前为止我还没有这么多工作......

我尝试了很多连接组合但无济于事...... 这是在MSSQL 2008 R2中。

0 个答案:

没有答案