如何计算产品的销售在每一天的时间(SQLSERVER)

如何计算产品的销售在每一天的时间(SQLSERVER)
数据库环境:SQL Server 2005

有一个产品销售实时表,表数据如下所示:
字段名称产品名称、字段类型是销售型的,1是销售,2是一种回归,场数是多少,CTime是手术时间。

要求uff1a

所有售出货物(售出、退回)在24小时内的数据均以一行计算,并考虑到日期

分析uff1a

这实际上是一个传输应用程序,在线路传输之前,需要完成所有的数据24小时。通过数字辅助系统完成数据。

当spt_values实施,一排排可以根据类型和处理CTime分组。

1。构建表并导入数据
创建表的蛇(name varchar(10),int类型,num int,CTime DateTime)
插入蛇值('instant面条咯,'2015-08-10 16:20:05)
插入值('cigarette蛇',2,2,'2015-08-10 18:21:10)
插入值('cigarette蛇',1,5,'2015-08-10 20:21:10)
插入蛇值('cigarette B,1,6,'2015-08-10 20:21:10)
插入蛇值('cigarette B,9,'2015-08-10 20:21:10)
插入蛇值('cigarette C,2,9,'2015-08-10 20:21:10)
2。完成24小时的数据
枚举0-23自然数 / * * /
X0
选择数字为H)
从spt_values主..
类型= 'p'
和数字> 0
和数字< 23
查找表的所有内容)
X1
如(选择明确)
转换(varchar(100),CTime,23)为D
从蛇
)完成日期的所有24小时
X2
选择X1,
x0。H
从X1
交叉连接x0
),
X3
选择名称,
型,
号码,
DatePart(时、CTime)H
从蛇
),终点线转列 / *需要使用数据。
X4
选择x2,
x2检验,
x3.name,
x3.type,
x3.num
从X2
左上X3加入X3。H = H X2。

三.线柱
选择空({ 0 },0)为{ 00 },
isnull({ 1 },0)为{ 01 },
isnull({ 2 },0)为{ 02 },
isnull({ 3 },0)为{ 03 },
isnull({ 4 },0)为{ 04 },
isnull({ 5 },0)为{ 05 },
isnull({ 6 },0)为{ 06 },
isnull({ 3 },7)为{ 07 },
isnull({ 8 },0)为{ 08 },
isnull({ 9 },0)为{ 09 },
isnull({ 10 },0)为{ 10 },
isnull({ 3 },11)为{ 11 },
isnull({ 12 },0)为{ 12 },
isnull({ 13 },0)为{ 13 },
isnull({ 14 },0)为{ 14 },
ISNULL ({3}, 15) AS {15},
isnull({ 16 },0)为{ 16 },
isnull({ 17 },0)为{ 17 },
isnull({ 18 },0)为{ 18 },
isnull({ 19 },15)为{ 19 },
isnull({ 20 },0)为{ 20 },
isnull({ 21 },0)为{ 21 },
isnull({ 22 },0)为{ 22 },
isnull({ 23 },15)为{ 23 },
型,
D日期
从(选择d),
H,
型,
号码
从X4
)t(努姆)中的h({ 0 },{ 1 },{ 2 },{ 3 },{ 4 },{ 4 }),
{ 7 }、{ 8 }、{ 9 }、{ 10 }、{ 11 }、{ 12 },
{ 13 }、{ 14 }、{ 15 }、{ 16 }、{ 17 }、{ 18 },
{ 19 }、{ 20 }、{ 21 }、{ 22 }、{ 23 })t
类型不是空的
看看最后的效果,只有1天的数据可能看起来不是很直观。
本文共分2个技术要点。

1。使用数字辅助表填写缺失记录

2.pivot排的使用功能

以上内容是如何计算的全部内容,SQLServer。希望你能喜欢。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部