Sql 加入问题?

Sql 加入问题?,sql,sql-server,Sql,Sql Server,我按照教程创建了一个日历表,并加入了累积周。这是我正在运行的另一个查询,但这给了我一个不准确的每周计数。有人知道我哪里出错了吗 --Creating table to house the data CREATE TABLE Test ( Count int, name varchar(2000), salesman varchar(100), datesold DATETIME ) --Inserting the data into the table INSERT INTO Test(Coun

我按照教程创建了一个日历表,并加入了累积周。这是我正在运行的另一个查询,但这给了我一个不准确的每周计数。有人知道我哪里出错了吗

--Creating table to house the data
CREATE TABLE Test
(
Count int,
name varchar(2000),
salesman varchar(100),
datesold DATETIME
)
--Inserting the data into the table
INSERT INTO Test(Count, name, salesman, datesold)
SELECT COUNT(ItemSold)
     , name
     , salesman
     , datesold
  FROM saleinfodatabase
 WHERE datesold IS NOT NULL
   AND item IN ('mink coat', 'persian rug')
   AND salesman IN ('Mike', 'Joe', 'Hale')
 GROUP BY 
       name
     , salesman
     , datesold


--Selecting data from the table
SELECT a.name
     , COUNT(a.Count) As Count, dt.CumulativeWeek 
  FROM Test a
 INNER JOIN 
       dim_Date dt
    ON a.datesold = dt.FullDate
 WHERE a.datesold IS NOT NULL
   AND a.salesman IN ('Mike', 'Joe', 'Hale')
 GROUP BY 
       dt.CumulativeWeek
     , a.name

感谢@Gareth为我提供了SUM而不是Count,这使我的结果产生了偏差

您可以取出底部的
WHERE
选择,因为您已经用该标准填充了您的表。删除额外的WHERE仍然会导致输出不准确
WHERE
也没有必要,因为
内部JOIN
将永远不会包含日期为空的记录。DateSelled is
NULL
您可以显示一些数据吗?您现在得到的结果是什么?因为“结果是错误的”并不能提供很多线索……你肯定想在第二次查询中
SUM(a.Count)
not
Count(a.Count)
?否则,如果你每周每天有10次销售,你的结果将是7次,而不是70次,因为你只是在计算数据。