Foxtable(狐表)用户栏目专家坐堂 → [求助]SQL取自己表的列不重复数据


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

主题:[求助]SQL取自己表的列不重复数据

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


加好友 发短信
等级:六尾狐 帖子:1353 积分:9868 威望:0 精华:0 注册:2015/6/30 8:46:00
[求助]SQL取自己表的列不重复数据  发帖心情 Post By:2019/12/23 20:27:00 [显示全部帖子]

Dim cmd As new SQLCommand
Dim Sqldt As DataTable
cmd.C
cmd.CommandText = "Sele ct b.*,(Sel ect DISTINCT 排产单号 from {订单表视图} as a where a.物料内码 = b.物料内码 and a.排产单号 is not null) as 旧单单号"
cmd.CommandText &= " from {订单表视图} as b "

 

 

老师,以上红色这段代码要怎么样修改才能用

 

想实现的目标,在订单表视图里找到物料内码历史上的曾经下过的订单。

[此贴子已经被作者于2019/12/23 20:29:05编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1353 积分:9868 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2019/12/23 20:40:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看

 

老师,数据如上所示,我想实现的内容是,接到新的订单,在订单视图表里找相同的物料内码,并且将它显示在旧单单号上。


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


加好友 发短信
等级:六尾狐 帖子:1353 积分:9868 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2019/12/23 21:25:00 [显示全部帖子]

以下是引用有点蓝在2019/12/23 20:50:00的发言:
试试,如果不行导出部分数据测试

"Select b.*,(Select ',' +  排产单号 from {订单表视图} as a where a.物料内码 = b.物料内码 and a.排产单号 is not null for xml path('')) as 旧单单号"

 

老师,可以正常显示,但不明白原理,能说明一下,或给个学习的网页连接,谢谢

 

另外,数据加载比较慢。速度有没有办法优化一下,测试的数据只有294行,如果再多可能就会有假死的状态了。

 


此主题相关图片如下:无标题1.png
按此在新窗口浏览图片

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


加好友 发短信
等级:六尾狐 帖子:1353 积分:9868 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2019/12/24 10:58:00 [显示全部帖子]

顶一下


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


加好友 发短信
等级:六尾狐 帖子:1353 积分:9868 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2019/12/24 11:32:00 [显示全部帖子]

Dim cmd As new SQLCommand
Dim Sqldt As DataTable
cmd.C
cmd.CommandText = "Select b.*,(Select ',' +  排产单号 from {订单表视图} as a where a.物料内码 = b.物料内码 and a.排产单号 is not null for xml path('')) as 旧单单号"
cmd.CommandText &= " from {订单表视图} as b "

 

以上代码10秒,以下代码2.7秒,没有事件,目前加载294条就10秒多了。

 

Dim cmd As new SQLCommand
Dim Sqldt As DataTable
cmd.C
cmd.CommandText = "Select * from {订单表视图}  "


 回到顶部