日期:2014-05-16  浏览次数:20484 次

求简单sql 添加记录行
销售记录表如下,有的店在某些月份没有销售,比如11112,11113,11114 都没有3月份(Q1的最后一个月)的销售
storeID    MONTH   SALES
11111               1          20
11111               2          30
11111               3           10
11112               1            10
11112               2             20
11113               1              50
11114                2             40

由于某种需求,需要在数据表里面加行,把3月没有销量的补出(现在4月需要3月份,将来5月需要补4月,其实就是每个月补上个月),sales 为0,上面的数据表变为:
storeID    MONTH   SALES
11111               1          20
11111               2          30
11111               3           10
11112               1            10
11112               2             20
11112               3             0
11113               1              50
11113               3              0
11114                2             40
11114                3              0

求简单sql能够实现,谢谢
------解决方案--------------------
IF EXISTS(SELECT NAME FROM sys.objects AS o WHERE NAME = 'test')
DROP TABLE test
GO
CREATE TABLE test(storeid VARCHAR(10) , months VARCHAR(06) , sales INT)
GO
INSERT INTO test 
SELECT '11111','201401' ,    20 UNION ALL
SELECT '11111','201402' ,    30 UNION ALL
SELECT '1111