Foxtable(狐表)用户栏目专家坐堂 → 合并数据操作问题


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

主题:合并数据操作问题

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/24 10:49:00 [显示全部帖子]

如果是SqlServer,直接使用SQL生成表D参考

sel
ect a.单号,a.料号,a.品名,a.数量 as 表A数量,a.日期 as 表A日期,表B数量,表C数量,a.审核 from 表A as a inner join ( select 单号,料号,品名,sum(数量) as 表B数量 from 表B group by 单号,料号,品名) as b on a.单号=b.单号 and a.料号=b.料号 and a.品名=b.品名 inner join ( select 单号,料号,品名,sum(数量) as 表C数量 from 表C group by 单号,料号,品名) as c on a.单号=c.单号 and a.料号=c.料号 and a.品名=c.品名 

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/24 11:45:00 [显示全部帖子]

各种中文的符号改为英文符号,如逗号等改为英文逗号。

另外这种语法适合SqlServer,其它数据库的多表关联用法请自行百度

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/24 14:24:00 [显示全部帖子]

加到最后面
.........=c.料号 and a.品名=c.品名  where a.审核='未审核'

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/24 15:12:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/24 16:23:00 [显示全部帖子]

cmd.CommandText = select a.单号,a.料号,a.品名,a.数量 as 表A数量,a.日期 as 表A日期,表B数量,表C数量,a.审核 from (表A as a inner join ( select 单号,料号,品名,sum(数量) as 表B数量 from 表B group by 单号,料号,品名) as b on a.单号=b.单号 and a.料号=b.料号 and a.品名=b.品名) inner join ( select 单号,料号,品名,sum(数量) as 表C数量 from 表C group by 单号,料号,品名) as c on a.单号=c.单号 and a.料号=c.料号 and a.品名=c.品名 where a.审核='未审核'

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/24 16:54:00 [显示全部帖子]

请上传数据库测试

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/25 10:17:00 [显示全部帖子]

把临时表数据导入本地数据表:http://www.foxtable.com/webhelp/topics/2137.htm

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/25 11:09:00 [显示全部帖子]

哪一种都可以,自己喜欢。不过列出列名的效率高一点

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/25 16:34:00 [显示全部帖子]

Dim cmd As New SQ-LCommand
cmd.C'

cmd.CommandText = select a.单号,a.料号,a.品名,a.数量 as 表A数量,a.日期 as 表A日期,表B数量,表C数量,a.审核 from (表A as a inner join ( select 单号,料号,品名,sum(数量) as 表B数量 from 表B group by 单号,料号,品名) as b on a.单号=b.单号 and a.料号=b.料号 and a.品名=b.品名) inner join ( select 单号,料号,品名,sum(数量) as 表C数量 from 表C group by 单号,料号,品名) as c on a.单号=c.单号 and a.料号=c.料号 and a.品名=c.品名 where a.审核='未审核' ''
Dim dt As DataTable = cmd.ExecuteReader()
For Each dr As DataRow In dt.DataRows
    Dim 
nr As DataRow = DataTables("表D").AddNew()
    For 
i As Integer =0 To sCols.Length -1
        
nr(dCols(i)) = dr(sCols(i))
    Next
Next

 回到顶部