Foxtable(狐表)用户栏目专家坐堂 → foxtable 不支持sql2005的pivot吗(上传附件)


  共有5674人关注过本帖树形打印复制链接

主题:foxtable 不支持sql2005的pivot吗(上传附件)

帅哥哟,离线,有人找我吗?
jspta
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
foxtable 不支持sql2005的pivot吗(上传附件)  发帖心情 Post By:2013/4/26 17:50:00 [显示全部帖子]

使用pivot时,提示FROM 子句语法错误

 

请查看附件实例,基础表——表A,效果表——统计表1

如何用SQL语句编写,求教

 

 


 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目14.foxdb

[此贴子已经被作者于2013-4-27 9:30:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/4/26 18:03:00 [显示全部帖子]

以下是引用Bin在2013-4-26 17:51:00的发言:
SQL 语句错了吧.

不知道,晚上回家发例子。


 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/4/27 9:20:00 [显示全部帖子]

求高手指导下,最好用SQL语句

或用SQLCrossTableBuilder


 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/4/27 9:32:00 [显示全部帖子]

以下是引用Bin在2013-4-27 9:28:00的发言:
你要统计什么效果,你倒是说一下啊.

失误,关闭foxtable后,统计表就消失了,抱歉,已经重新弄过


 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/4/27 12:48:00 [显示全部帖子]

以下是引用Bin在2013-4-27 9:46:00的发言:
select [姓名], count(case when [类别]='语文' then 1 end) as 语文,
 count(case when [类别]='数学' then 1 end) as 数学,
count(case when [类别]='英语' then 1 end) as 英语,
count(case when [类别]='化学' then 1 end) as 化学
 from  {表A}  group by [姓名]

谢谢!这是常规代码,pivot的方法实在不能用,那就只能用这个了。


 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/4/27 13:58:00 [显示全部帖子]

以下是引用don在2013-4-27 11:10:00的发言:
Dim b As New SQLCrossTableBuilder("统计表1","表A")
b.HGroups.AddDef("姓名") 
b.VGroups.AddDef("类别") 
b.Totals.AddDef("类别", AggregateEnum.count) 
b.Build 
MainTable = Tables("统计表1") 

这个表使用这个代码不会有问题,另一个表使用就会出错,说SQL统计语句有问题(不是这个表),目前还没找到错误原因


 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/4/27 14:50:00 [显示全部帖子]

以下是引用Bin在2013-4-27 9:46:00的发言:
select [姓名], count(case when [类别]='语文' then 1 end) as 语文,
 count(case when [类别]='数学' then 1 end) as 数学,
count(case when [类别]='英语' then 1 end) as 英语,
count(case when [类别]='化学' then 1 end) as 化学
 from  {表A}  group by [姓名]
Select [姓名], count(Case when [类别]='语文' then 1 end) as 语文,count(Case when [类别]='数学' then 1 end) as 数学,count(Case when [类别]='英语' then 1 end) as 英语,count(Case when [类别]='化学' then 1 end) as 化学 from  {表A}  group by [姓名]

 

这个语句foxtable不能执行,提示IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。


 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/4/28 8:41:00 [显示全部帖子]

UP下,狐爸能解释下吗?


 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/4/28 14:34:00 [显示全部帖子]

以下是引用don在2013-4-28 8:46:00的发言:

谢谢,解决了


 回到顶部