求一个高难度的SQL统计命令
原来表结构为:
时间 类 型 数量
2009-1-2 毛衣 23
2009-1-2 毛衣 11
2009-1-2 棉衣 3
2009-1-3 棉衣 33
希望通过查询后得到
时间 毛 衣 棉 衣
2009-1-1 0 0
2009-1-2 34 3
2009-1-3 0 33
2009-1-4 0 0
...
有什么SQL语句可以直接实现么?如果不行能不能实现一天的,即执行查询后为:
2009-1-2 34 3
SQL code:
select 时间,
sum(iif(类 型='毛衣',数量,0) as 毛 衣,
sum(iif(类 型='棉衣',数量,0) as 棉 衣
from 原来表
group by 时间
或者你直接用交叉查询。
SQL code:
TRANSFORM Sum(数量) AS f3OfSum
SELECT 时间
from Table1
GROUP BY 时间
PIVOT 类 型;
至于没有数据的日期,你需要另建一个日历表,包括所有的日期,做JOIN查询。
select 时间, sum(iif(类 型='毛衣',数量,0) as 毛 衣, sum(iif(类 型='棉衣',数量,0) as 棉 衣
from tt group by 时间
相关问答:
一直用2000,想学2008.
请问
1. 2008比2000有哪些更方便的应用?
2. MSSQL 2008 支持哪些系统? XP可以安装吗?
3. 在哪有下载,最好是免系列号,即D版。
谢谢!
我也用2000
1.太多了 自己去 ......
data a b c d e tag
2009-11-01 11 ......
ID 餐别 时间
1 中餐 2009-10-25
2 中餐 2009-10-26
3 晚餐 2009-10-26
4 早餐 2009-10-27
结果
1 中餐 2009-10-25
3 晚餐 ......
用ACCESS 有张表chanpin 里面有一项kuchun
现在用显示库存小于等于0的所有产品
用语句 SQL = "select * from chanpin where kuchun <='0' " 不能实现
改为 SQL = "se ......
因为是多客户端操作的,所以希望在更新的时候,可以把表用排他锁锁住,其他用户不可以查询和修改
之前看到相关问题里面提到 WITH (XLOCK) ,我这里可以用这个吗?
WITH (XLOCK) 用完之 ......