時(shí)間:2024-03-13 13:57作者:下載吧人氣:26
數(shù)據(jù)庫環(huán)境:SQL SERVER 2005
現(xiàn)有一個(gè)產(chǎn)品銷售實(shí)時(shí)表,表數(shù)據(jù)如下:
字段name是產(chǎn)品名稱,字段type是銷售類型,1表示售出,2表示退貨,字段num是數(shù)量,字段ctime是操作時(shí)間。
要求:
在一行中統(tǒng)計(jì)24小時(shí)內(nèi)所有貨物的銷售(售出,退貨)數(shù)據(jù),把日期考慮在內(nèi)。
分析:
這實(shí)際上是行轉(zhuǎn)列的一個(gè)應(yīng)用,在進(jìn)行行轉(zhuǎn)列之前,需要補(bǔ)全24小時(shí)的所有數(shù)據(jù)。補(bǔ)全數(shù)據(jù)可以通過系統(tǒng)的數(shù)字輔助表
spt_values來實(shí)現(xiàn),進(jìn)行行轉(zhuǎn)列時(shí),根據(jù)type和處理后的ctime分組即可。
1.建表,導(dǎo)入數(shù)據(jù)
CREATE TABLE snake (name VARCHAR(10 ),type INT,num INT, ctime DATETIME )
INSERT INTO snake VALUES(‘ 方便面’, 1,10 ,’2015-08-10 16:20:05′)
INSERT INTO snake VALUES(‘ 香煙A ‘, 2,2 ,’2015-08-10 18:21:10’)
INSERT INTO snake VALUES(‘ 香煙A ‘, 1,5 ,’2015-08-10 20:21:10’)
INSERT INTO snake VALUES(‘ 香煙B’, 1,6 ,’2015-08-10 20:21:10′)
INSERT INTO snake VALUES(‘ 香煙B’, 2,9 ,’2015-08-10 20:21:10′)
INSERT INTO snake VALUES(‘ 香煙C’, 2,9 ,’2015-08-10 20:21:10′)
網(wǎng)友評(píng)論