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


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

主题:合并数据操作问题

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


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

执行后,提示如图,还是没数据

图片点击可在新窗口打开查看此主题相关图片如下:sql报错1.jpg
图片点击可在新窗口打开查看


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


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

请上传数据库测试

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


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

这个生成是临时表,如何写正表,表D?

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


加好友 发短信
等级:五尾狐 帖子:1122 积分:7411 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/25 10:13: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.审核='未审核' and a.审核=''

改为红字代码条件,数据临时表也显示

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


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

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

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


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

Dim cmd As New SQ--LCommand
Dim 
dt As DataTable
Dim 
sCols() As String = {"列名1""列名2""列名3"}
Dim
 dCols() As String = {"列名A", "列名B", "列名C"}
cmd
.ConnectionName = "C"
cmd
.CommandText = "SELEC--T * From {表A}"
dt
 = 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


问题一:

cmd.CommandText = "SELEC--T * From {表A}"是照抄,还是要把*改为"列名1", "列名2", "列名3"?

[此贴子已经被作者于2023/8/25 16:49:03编辑过]

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


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

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

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


加好友 发短信
等级:五尾狐 帖子:1122 积分:7411 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/25 16:13:00 [只看该作者]

11


[此贴子已经被作者于2023/8/25 16:48:27编辑过]

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


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

代码二
Dim cmd As New SQ--LCommand
Dim 
dt As DataTable
Dim 
sCols() As String = {"单号""料号""品名","表A日期""表A数量""表B数量""表C数量""审核"}
Dim dCols() As String = {"单号""料号""品名","表A日期""表A数量""表B数量""表C数量""审核"}
cmd
.ConnectionName = "C"
cmd
.CommandText = "SELEC--T * From {窗口1_Tables}"
dt
 = 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
问题二:用代码二,将SQ-L的内容写入表D,没报错,也没把数据写表D,如何解决?

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


加好友 发短信
等级:超级版主 帖子:107521 积分:546890 威望: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

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