关于网友提出的“sql语句集合 求一SQL语句”问题疑问,本网通过在网上对“sql语句集合 求一SQL语句”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:sql语句集合 求一SQL语句
描述: 表名:Test 数据如下:
ProName(产品名称) Price(价格) Date(时间)
产品一 200 2007-1-1
产品一 240 2007-1-3
产品一 280 2007-1-8
产品一 230 2007-2-2
产品一 260 2007-2-9
...
要求根据传入的产品名称和时间段(如:产品一,2007-01-01,2007-01-04)得出如下结果:
ProName(产品名称) Price(价格) Date(时间)
产品一 240(一月平均价格) 2007-1
产品一 245(二月平均价格) 2007-2
产品一 0(三月平均价格) 2007-3
产品一 0(四月平均价格) 2007-4
要把没有的记录价格以0查询出来(三月和四月没有记录,也要查询出来)
求高手摆平,谢谢!
解决方案1: DECLARE @ProID INT
DECLARE @Day1 VARCHAR(20) --2007-1-1
DECLARE @Day2 VARCHAR(20) --2007-4-1
DECLARE @ProName VARCHAR(50)
BEGIN
SET @Pr />
DECLARE @Table1 TABLE(ProName VARCHAR(20),Price INT,Date1 VARCHAR(20))
DECLARE @i INT
SET @i= 1 --取出月份2007-1-1
WHILE(@i<12)--取出月份2007-4-1
BEGIN
INSERT INTO @Table1(ProName,Price ,Date1) SELECT @ProName,ISNULL(AVG(bb),0),CAST(DATEPART(YEAR,'2007-12-11') AS VARCHAR) + '年' +
CAST(@i AS VARCHAR) + '月' FROM aaa
WHERE cc>='2007-' + CAST(@i AS VARCHAR) + '-1' AND cc<='2007-' + CAST(@i AS VARCHAR) + '-29'
AND aa=@ProName
-- GROUP BY
--PRINT @i
SET @i=@i+1
END
SELECT * FROM @Table1
END
以上介绍了“sql语句集合 求一SQL语句”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3278690.html