搜索
写经验 领红包
 > 美食

sql联合查询语句(sql多表联合查询怎么写)

导语:SQL与联合函数完成多工作表查询

sql联合查询语句(sql多表联合查询怎么写)

【分享成果,随喜正能量】 付出辛苦,总有收获;布施善意,深入福泽,善多一分,福自然深一分。人生无惧,无论荣华富贵,还是低贱穷困,我们都要从容不迫,学会积极的看待人生,缘来了,则聚;缘去了,则散。。 ​​

《VBA数据库解决方案》教程是我推出的第二套教程,目前已经是第一版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:SQL与联合函数完成多工作表查询

第五十一讲 联合函数和SQL完成多工作表汇总查询

大家好,我们继续VBA数据库解决方案的学习,今天讲解第51讲:利用聚合函数和SQL语句完成多工作表的汇总查询计算。今日的内容看似简单,其实有些难度,希望大家不要放弃,在自己测试的时候要多测试几次。虽然本讲的内容可利用其他的方法也可以实现,但这种方法也不失为一种解决问题的有效手段。

在我的系列书籍中一直在强调“搭积木”的编程思路,主要的内涵:首先是代码不要自己全部的录入,你要做的是把积木放在合适的位置让后去修正代码,其次是建立自己的“积木库”,把自己认为有用的代码放在一起,可以随时利用。你的积木库资料越多,你做程序的思路就会越多。数据库的代码录入更是如此,代码往往很长,千万不要自己去录入。空格,引号,逗号的写法要求是非常严格的。一定要拷贝,然后修正代码,把时间利用到高效的思考上。

1 应用场景的具体分析

今日的内容是讲聚合函数和SQL的结合,从而完成我们的实际工作。如下的实例:我的工作表中有两页格式接近的数据,如下:

现在我要把两个工作表的数据提取型号,数量,单价,并把数量按型号汇总,汇总后的数据按型号排序处理。

上面的例子,如果在EXCEL工作表文件中处理要多个步骤来完成,用数据库的一般方案也是比较麻烦的,下面看我们联合函数的功效吧。

2 完成多工作表的汇总查询计算的代码及代码解读

我给出的代码如下;

Sub mynzRecords_51() &34;51&34;ADODB.Connection&34;ADODB.Recordset&39;建立一个ADO的连接

strPath = ThisWorkbook.FullName

cnADO.Open &39;excel 12.0;hdr=yes;imex=1&34; & strPath

strSQL1 = &34;

strSQL2 = &34;

strSQL3 = strSQL1 & &34; & strSQL2

strSQL4 = &34; & strSQL3 & &34;

arr = Array(&34;, &34;, &34;)

[a1:c1] = arr

[a65536].End(xlUp).Offset(1, 0).CopyFromRecordset cnADO.Execute(strSQL4)

cnADO.Close

Set cnADO = Nothing

Set rsADO = Nothing

End Sub

代码截图:

代码讲解:

1 strSQL1 = &34; 第一个SQL语句完成“数据”工作表的数据提取。

2 strSQL2 = &34; 第二个SQL语句完成“数据2”工作表的数据提取。

3 strSQL3 = strSQL1 & &34; & strSQL2 第三个SQL语句完成strSQL1和strSQL2的组合,这里利用到了联合函数UNION,此函数的用法大家要注意,按照我给出的代码示例进行即可。

4 strSQL4 = &34; & strSQL3 & &34;

第四个SQL语句,通过上面的聚合函数建立一个新的SQL查询。同样这个语句的写法要注意按照我的示例格式进行,不要另辟蹊径,通不过的。

下面看我们代码的运行结果:

今日内容回向:

1 聚合函数在sql中如何应用?

2 如何利用联合函数完成数据的统计?

本讲内容参考程序文件:VBA与数据库操作(第二册).xlsm

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

【分享成果,随喜正能量】善良,像暗夜里的灯火,每付出一份善意,就亮起一盏灯火,怀善心,做善事,自会福报绵延。。

本文内容由小萱整理编辑!