以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  sql分组查询的语句问题(OK)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=59763)

--  作者:HappyFt
--  发布时间:2014/11/10 15:58:00
--  sql分组查询的语句问题(OK)


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

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

表名       序号组合

生产单    1,2,3

订单      2,4,5

 

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

 

 

 

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

--  作者:有点甜
--  发布时间:2014/11/10 16:07:00
--  

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

 

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

 

 

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


--  作者:HappyFt
--  发布时间:2014/11/10 16:36:00
--  
看了下,这么麻烦啊,还以为一条语句就可以,那用foxtable要怎么处理呢,先将唯一表名增加到表中,再遍历每一行表名,从原来表中getcomboliststring再赋值进去?
--  作者:有点甜
--  发布时间:2014/11/10 16:37:00
--  

 嗯嗯,是的。


--  作者:HappyFt
--  发布时间: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中要如何调用函数才正确?

谢谢!

 

 


--  作者:有点甜
--  发布时间:2014/11/11 9:25:00
--  
cmd.CommandText ="select 表名,Ufn_combFid(表名) AS 序号组合 from ftbSet group by tbN order by tbN"
dt = cmd.ExecuteReader()

--  作者:HappyFt
--  发布时间:2014/11/11 11:53:00
--  


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


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

 

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


--  作者:有点甜
--  发布时间:2014/11/11 12:07:00
--  

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

 

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


--  作者:HappyFt
--  发布时间:2014/11/11 12:15:00
--  

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

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