以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 合并数据操作问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187970) |
|
-- 作者:lin98 -- 发布时间: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编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2023/8/24 10:49:00 -- 如果是SqlServer,直接使用SQL生成表D参考 |
|
-- 作者:lin98 -- 发布时间: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编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2023/8/24 11:45:00 -- 各种中文的符号改为英文符号,如逗号等改为英文逗号。 另外这种语法适合SqlServer,其它数据库的多表关联用法请自行百度
|
|
-- 作者:lin98 -- 发布时间:2023/8/24 11:59:00 -- 现数据源是ACCESS,还有一个,以表A:单号,料号,品名,数量,日期,审核=未审核,审核=未审核,要加在哪位置? |
|
-- 作者:有点蓝 -- 发布时间:2023/8/24 14:24:00 -- 加到最后面 .........=c.料号 and a.品名=c.品名 where a.审核=\'未审核\'
|
|
-- 作者:lin98 -- 发布时间:2023/8/24 15:10:00 --
|
|
-- 作者:有点蓝 -- 发布时间:2023/8/24 15:12:00 -- https://www.baidu.com/baidu?ie=UTF-8&word=access%20%E5%A4%9A%E8%A1%A8%E5%85%B3%E8%81%94 |
|
-- 作者:lin98 -- 发布时间:2023/8/24 15:27:00 -- 老师,找不到问题,还是没有数据显示,如何解决? |
|
-- 作者:有点蓝 -- 发布时间: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.审核=\'未审核\' |