以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 多表,先进行字段匹配,能匹配上的进行连接,涉及表未匹配上的也保留,该用什么方法? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=157963) |
|
-- 作者:guosheng -- 发布时间:2020/11/3 18:04:00 -- 多表,先进行字段匹配,能匹配上的进行连接,涉及表未匹配上的也保留,该用什么方法? 表1 编号 金额 101 10 102 20 表2 编号 金额 102 10 104 40 并表 编号 金额 101 10 102 20加10 104 40 此主题相关图片如下:4b77a134-29cf-4120-ae44-de9180ed626d.jpeg [此贴子已经被作者于2020/11/3 18:09:36编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2020/11/3 20:22:00 -- 参考:http://www.foxtable.com/webhelp/topics/1626.htm Dim b As New SQLGroupTableBuilder("统计表1","表1") b.ConnectionName = "Sale" b.AddTable("表1","编号","表2","编号") \'添加统计表 b.Groups.AddDef("{表1}.编号") \'根据产品名称分组 b.Totals.AddDef("金额") \'对数量进行统计
b.Build \'生成统计表 Maintable = Tables("统计表1") \'打开生成的统计表 |
|
-- 作者:guosheng -- 发布时间:2020/11/4 9:15:00 -- 表1 编号 金额 101 10 102 20 表2 编号 金额 102 10 104 40 根据例子代码实现的连接结果是: 并表(例子结果)---我估计是内连接吧 编号 表1.金额 表2.金额 102 20 10 并表 (我想要的,不是左连接 和 右连接。能连接的连接,不能连接的也显示。应该是左连接 和 右连接的 并集) 编号 表1.金额 表2.金额 101 10 102 20 10 104 40 想要的统计结果: 编号 金额 101 10 102 20+10 104 40 要是表连接没问题的话, Dim b As New SQLGroupTableBuilder("统计表1","表1") b.C b.AddTable("表1","序号","表2","序号") \'添加统计表 b.Groups.AddDef("{表1}.序号") \'根据产品名称分组 \'如何取到所有的序号列 b.Totals.Addexp("{表1}.金额+{表2}.金额") \'对数量进行统计 \'这么写是有语法错误的 b.Build \'生成统计表 MainTable = Tables("统计表1") \'打开生成的统计表 [此贴子已经被作者于2020/11/4 9:28:59编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2020/11/4 9:29:00 -- Dim b As New GroupTableBuilder("统计表1","select 编号,金额 from {表1} union all select 编号,金额 from {表2} ") b.Groups.AddDef("编号") \'根据产品名称分组 b.Totals.AddDef("金额") \'对数量进行统计 b.Build \'生成统计表 MainTable = Tables("统计表1") \'打开生成的统计表
|
|
-- 作者:guosheng -- 发布时间:2020/11/4 9:45:00 -- 如果某些列做 减法或其他混合运算 时该怎么改啊? 编号 金额 101 10 102 20-10 104 40
[此贴子已经被作者于2020/11/4 9:45:54编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2020/11/4 9:48:00 -- select 编号,金额 from {表1} union all select 编号,金额*-1 from {表2} |
|
-- 作者:guosheng -- 发布时间:2020/11/4 11:34:00 -- 如果有两列(也可能多列混合运算)数值列,md和mc的话,如何再加一列,让md-mc Dim b As New GroupTableBuilder("统计表1","s ele ct 编号,md ,mc, *** fro m {表1} union all s elect 编号,md*+1,mc*+1,*** fro m {表2} ")
[此贴子已经被作者于2020/11/4 11:34:36编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2020/11/4 11:50:00 -- Dim b As New sqlGroupTableBuilder("统计表1","select 编号,md ,mc from {表1} union all select 编号,md ,mc from {表2} ") b.Groups.AddDef("编号") b.Totals.AddDef("md") b.Totals.AddDef("mc") b.Totals.AddExp("差","md-mc") b.Build \'生成统计表
|
|
-- 作者:guosheng -- 发布时间:2020/11/4 12:30:00 --
|
|
-- 作者:有点蓝 -- 发布时间:2020/11/4 13:38:00 -- 这个是小学数学,都还给老师了?正数乘以负一不就是负数了吗?100-20不就是等于100+负20吗。。。。。。。。。。。。。。。 |