分享

Excel 数据透视表“多表查询”不懂SQL查询语句怎么办?

 马自达的图书馆 2018-03-17
本帖最后由 zhc19620430 于 2011-8-19 14:20 编辑

            上面我们建立了【表1】和【表2】两张表,现在创建查询,讲解如下:
      步骤1.选择【创建】功能的【查询设计】,会出现【显示表】,在【表】对话框双击【表1】和【表1】或选择【表1】按【添加】,再选择【表2】按【添加】,然后【关闭】;

         
       步骤2.  在【查询1】设计视图里会出现【表1】和【表2】,因为我们在导入表时就创建了主键,下面“姓名”左边的钥匙就是创建的主键,现在只要我们联接“姓名”即可;

       步骤3.鼠标选择【表1】的【姓名】,按住左键不放拖到【表2】的【姓名】,然后再【字段】里就可以选择【姓名】,性别和年龄,表对话框及显示自动会出现【表1】和【表2】的字段选项及显示勾选;
         这里我要特别强调的是:当我们联接成功后双击两张表的连接线,会出现【联接属性】对话框,左表名称为主表表1,右表名称为子表。下面出现的3个选项,默认联接的类型是第一个选项“只包含两个表中联接字段相等的行”,它是“内部链接”,下面SQL代码就可以看得出来 ; 第二个选项是左外部链接;第三个选择是右外部链接。      
             步骤4.   将鼠标放到【查询1】下方显示【表1】和【表2】的联接空白处点击鼠标右键,选择SQL视图,看下表,就会得出SQL语句:SELECT 表1.姓名, 表1.性别, 表2.年龄
FROM 表1 INNER JOIN 表2 ON 表1.姓名 = 表2.姓名;
            
步骤5.点击【查询工具】里的【设计】——【运行】或【视图】——【数据表视图】完成。

              获取的SQL内部链接代码 SELECT 表1.姓名, 表1.性别, 表2.年龄 FROM 表1 INNER JOIN 表2 ON 表1.姓名 = 表2.姓名,我们需要在Excel数据透视表里使用,还需要加工方可使用。
修改后的代码如下:
    SELECT a.姓名, a.性别, b.年龄 FROM [表1$]a INNER JOIN [表2$]b ON a.姓名 = b.姓名
由于两张表的的联接关系是“姓名”,为避免混淆,我们使用“a”作为【表1】的前缀,如果select命令的字段在查询的表里是唯一的,那就没必要使用前缀。另外 Excel数据透视表使用SQL语句,表名一定要用 [ 表1  $]来表示,万万万不能直接套用。 qq网友问题1.rar (5.19 KB, 下载次数: 270)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多