Foxtable(狐表)用户栏目专家坐堂 → sql分组查询的语句问题(OK)


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

主题:sql分组查询的语句问题(OK)

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


加好友 发短信
等级:八尾狐 帖子:1938 积分:17793 威望:0 精华:0 注册:2014/7/29 19:09:00
sql分组查询的语句问题(OK)  发帖心情 Post By:2014/11/10 15:58:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:360截图20141110155011167.jpg
图片点击可在新窗口打开查看

如上图是一个SQL的表,现想用sql查询语句将表中数据分组查询为如下两列的临时表,将序号组合在一起。如下

表名       序号组合

生产单    1,2,3

订单      2,4,5

 

请问SQL语句要怎么写?谢谢!

 

 

 

[此贴子已经被作者于2014-11-11 12:29:14编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/10 16:07:00 [只看该作者]

 回复楼主,如要做这种效果,需要在数据库编写函数才能完成的。

 

http://www.cnblogs.com/CrazyWill/archive/2006/02/20/334247.html

 

 

 建议,不要直接用sql语句,直接用foxtable的代码处理更为方便


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


加好友 发短信
等级:八尾狐 帖子:1938 积分:17793 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2014/11/10 16:36:00 [只看该作者]

看了下,这么麻烦啊,还以为一条语句就可以,那用foxtable要怎么处理呢,先将唯一表名增加到表中,再遍历每一行表名,从原来表中getcomboliststring再赋值进去?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/10 16:37:00 [只看该作者]

 嗯嗯,是的。


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


加好友 发短信
等级:八尾狐 帖子:1938 积分:17793 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2014/11/11 9:23:00 [只看该作者]

再请教一个问题,在SQL中建立函数后用下面的语句在sql数据库中查询可以正确生成数据,

select 表名,dbo.Ufn_combFid(表名) AS 序号组合 from ftbSet group by tbN order by tbN

 

但同样的语句在Foxtable中使用command返回临时表时

cmd.CommandText ="select 表名,dbo.Ufn_combFid(表名) AS 序号组合 from ftbSet group by tbN order by tbN"
dt = cmd.ExecuteReader()

 

执行时会提示下面的错误

找不到列 "dbo" 或用户定义的函数或聚合 "dbo.Ufn_combFid",或者名称不明确。

 

请问在foxtable中要如何调用函数才正确?

谢谢!

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/11 9:25:00 [只看该作者]

cmd.CommandText ="select 表名,Ufn_combFid(表名) AS 序号组合 from ftbSet group by tbN order by tbN"
dt = cmd.ExecuteReader()

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


加好友 发短信
等级:八尾狐 帖子:1938 积分:17793 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2014/11/11 11:53:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:360截图20141111-1.jpg
图片点击可在新窗口打开查看


 
图片点击可在新窗口打开查看此主题相关图片如下:360截图20141111-2.jpg
图片点击可在新窗口打开查看

 

还是会出错?在SQL数据库中就可以


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/11 12:07:00 [只看该作者]

 我测试了一下,你的函数肯定没有定义到这个数据库。

 

 如果定义了,这句代码一定可以执行 select 表名,dbo.Ufn_combFid(表名) AS 序号组合 from ftbSet group by tbN order by tbN


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


加好友 发短信
等级:八尾狐 帖子:1938 积分:17793 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2014/11/11 12:15:00 [只看该作者]

果真如此,原来是连接外部数据源时IP设置成了另外一个IP。谢谢,可以了!

[此贴子已经被作者于2014-11-11 12:28:40编辑过]

 回到顶部