日期:2014-05-17  浏览次数:20463 次

SQL查询语句,纵横表查询,难度极高

date              bid            eid    kid      pid
2013-01-02 000030000200090 00026 00005 000020000100039
2013-01-02 000030000200090 00026 00005 000020000100038
2013-01-02 00005         00026 00005 000010000200006
2013-01-02 00005         00026 00005 000040000100013
2013-01-03 00005         00017 00005 000020000100027
2013-01-03 00005         00007 00005 000130000400010
2013-01-03 00005         00007 00005 000130000400006
2013-01-03 00005         00007 00005 000110000400006
2013-01-03 00005         00007 00005 000090000100014
2013-01-03 00005         00007 00005 000130000400003
2013-01-03 00005         00007 00005 000130000400006
2013-01-03 00005         00007 00005 000130000400001
2013-01-03 00005         00007 00005 000110000400006
2013-01-03 000020000600066 00026 00005 000040000500006
2013-01-04 000030000700119 00007 00005 000070000600001
2013-01-04 000030000700119 00007 00005 000110000600020
2013-01-04 000030000700119 00007 00005 000070000600020
2013-01-04 000030000700119 00007 00005 000080000500017
2013-01-05 000020000300051 00026 00005 000130000700012
2013-01-05 000020000300051 00026 00005 000130000700009

bid表示客户的ID,eid表示员工ID,kid表示仓库ID,pid表示商品ID
要求按天汇总bid、eid、kid、pid数量,当天重复的bid、eid、kid算1个,当天重复的pid计算总和。

如何用SQL语句查出



 
SQL 纵横表

------解决方案--------------------
Select date,Count(distinct bid),Count(distinct eid),Count(distinct kid),Count(pid) From table1 group by date

是不是这个意思?