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


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

主题:合并数据操作问题

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
合并数据操作问题  发帖心情 Post By:2023/8/24 10:31:00 [只看该作者]

表A的字段:单号,料号,品名,数量,日期,审核
表B的字段:单号,料号,品名,数量,日期,审核,客户


注:
2.合并后在,单号,料号,品名,在同一行


'Dim cmd As New SQ-LCommand
'Dim dt As DataTable
'Dim sCols() As String = {"单号", "料号", "品名", "数量", "日期"}
'Dim dCols() As String = {"单号", "料号", "品名", "表A数量", "日期"}
'cmd.C'"
'cmd.CommandText = "SELEC-T * From {表A}WHERE 审核 = '未审核"
'dt = cmd.ExecuteReader()
'For Each dr As DataRow In dt.DataRows
'    Dim nr As DataRow = DataTables("员工").AddNew()
'    For i As Integer = 0 To sCols.Length - 1
'        nr(dCols(i)) = dr(sCols(i))
'    Next
'Next
[此贴子已经被作者于2023/8/25 16:51:23编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望: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.品名 

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/24 11:42:00 [只看该作者]

Dim cmd As New SQ-LCommand
cmd.C'
Dim dt As DataTable
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.品名 
Tables("表D").DataSource = cmd.ExecuteReader()
执行报错
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:
详细错误信息:
SELEC-T 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确
[此贴子已经被作者于2023/8/24 11:42:10编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/24 11:45:00 [只看该作者]

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

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

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/24 11:59:00 [只看该作者]

现数据源是ACCESS,还有一个,以表A:单号,料号,品名,数量,日期,审核=未审核,审核=未审核,要加在哪位置?

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/24 14:24:00 [只看该作者]

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

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/24 15:10:00 [只看该作者]

Dim cmd As New SQ-LCommand
cmd.C'
Dim dt As DataTable
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.审核='未审核'
msgbox(cmd.CommandText) '
Tables("表D").DataSource = cmd.ExecuteReader()'
MsgBox(1)'

执行后,没报错,也没有数据显示,调试也没显示内容,如何解决?据源是ACCESS

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/24 15:12:00 [只看该作者]


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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/24 15:27:00 [只看该作者]

老师,找不到问题,还是没有数据显示,如何解决?

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望: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.审核='未审核'

 回到顶部
总数 21 1 2 3 下一页