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 isNULL
您可以显示一些数据吗?您现在得到的结果是什么?因为“结果是错误的”并不能提供很多线索……你肯定想在第二次查询中SUM(a.Count)
notCount(a.Count)
?否则,如果你每周每天有10次销售,你的结果将是7次,而不是70次,因为你只是在计算数据。