我有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中。