暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

VBA SQL Union 合并数据

Excel VBA练习 2021-07-15
1494

Hello ,小伙伴们,大家好,早上有小伙伴给小编留言,问如何SQL如何合并数据

也就是今天的猪脚

Union运算符可以把两个或者多个表结构相同的工作表合并起来

Union也是在工作中比较常见的一种方法

语法也很简单

    Table1 Union [All] Table2


    如下图所示

    1表合并2表 返回合并后的结果3表

      strSQL = "Select * From " & strSource & " Union All Select * From " & strSource1

      Union All 将两个表合并到一个工作表中,且不会对这些做任何的更改,值得需要注意的是,两个表的列字段数目必须相同

      例如,列数不相同的情况下

      会返回一下错误信息

      Union 与之前所写的连接比较相似,它们都是将多个表合并起来形成另一个表的方法,然而它们以不同的方法进行这些组合

      在前面的语法解析中,Union [All] 中的All是可省略的

      Union 是去重操作,既可以删除重复的行

      Union All则是不需要去重,并且比Union需要计算的资源要少些,毕竟Union多了去重复的操作,必然产生更多的运算...

      一般需要使用Union All的情况

      • 知道有重复且想保留

      • 知道不可能有重复

      • 不在乎是否有重复

      ...

      如下图所示

      还是这个数据,一班和二班都有丁文的学生

      使用Union All 两表的丁文被保留,而使用Union 丁文去重


      如果是两表列数都不相等需要合并则添加Null As添加一列

        strSQL = "Select 班级,姓名,Null As 分数 From " & strSource & " Union All Select * From " & strSource1


        1表添加1列构造的值为缺失值Null的字段 使用Union All 合并2表

        在上图中,可以发现两个表的表头都不相同,还是能返回结果,是因为Union运算符总是按第一个Select语句中字段为查询结果的字段


        在来一个潜水在群里看到的例子

        ... ...

        等练习的时候在做吧,睡觉

        ...

        ...

        示例文件下载

        链接:https://pan.baidu.com/s/1uIY8J8_LRmToNuSOVnL5lw

        提取码:abcd


        收工!

        如果小伙伴有好的思路,可以在小编的公众号留言发给小编研究下

        文章觉得有用,点个赞+在看,你的每一次点赞和转发就是小编原创的动力

        关注公众号 ↓


        文章转载自Excel VBA练习,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论