设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

联合查询实例解析

2008-7-4 10:47| 发布者: tanhong| 查看: 3612| 评论: 0

  在论坛之前的发帖中,已就联合查询定义、基本概念以及如何利用查询设计器进行联合查询设计,做过详细介绍。在此不再重复,本文着重就联合查询的实际运用,结合实例分步进行解析,让大家对于联合查询本身,及联合查询的实际运用,有一个初步直观而感性认识。
  联合查询在数据库中运用是较广泛的,较为典型有:物品管理类、财务管理类等。
  就拿物品管理来说,假设进、销、存是分表进行设计的,数据分别存放在各独立基表中,当我们要获得物品的分类明细账数据时,就必须通过联合查询将进、销、存三个基表的数据组合成为一个查询。
  根据本人在实际的运用中的经验总结归纳,我将联合查询大致分为三大类:兼容并收类、无中生有类、移花接木类。

一、联合查询之兼容并收
这是联合查询最为常见,也最基本的类型。这类联合查询是将一个以上表或查询结果,进行重组而获得新查询结果。
要求用于构建联合查询的表或查询必须符合字段数必须相同,字段类型必须相容的两个基本条件和要求。
在罗斯文数据库实例中:“各城市的客户和供应商”查询,就是这类查询典型实例(见下图)



    该实例的创建过程,大家可参看上文《查询设计器设计联合查询》,本文不做讲解。

二、联合查询之无中生有
  这是联合查询又一种类型,是联合查询进阶的必经阶段。这类联合查询是将单笔或N笔自定义数据与表或查询组合而构成的查询。直白的说,就是将自定义数据与现成的表或查询数据组合而构成查询。
  案例:如通过联合查询为组合框数据源,添加一笔自定义“全部”作为默认第一笔数据,用于查询时返回所有数据。(见下图)通过联合查询方式实现目的,要比我们在数据表中插入一笔“全部”数据要安全的多,因为这不会影响到原数据的完整性。



实例操作步骤:
1、通过查询设计器获得资产编号数据查询,实例名(组合框数据源一)







2、通过查询设计器自定义数据查询,实例名(组合框数据源二)





3、通过查询SQL设计器将前面两个查询组合成联合查询,实例名(组合框数据结果)




三、联合查询之移花接木:
这是联合查询中相对复杂的类型。这类联合查询是前两类联合查询方式的综合类型,并在此基础上重新演生而构成全新的查询结果。大家可以实践摸索。
案例:该实例数据中,某个交易日中,认购与认沽数据成对,但有时认沽没有数据,使认购与认沽数据没有两两相对,不便于对照。为此我们通过巧接的方式补齐认沽数据,数据值为 “0” 。




实例操作步骤:
1、按图先建立个第一个联合查询数据源:实例名(分组查询一)




2、按图先建立个第二个联合查询数据源:实例名(分组查询二)





3、按图将前第二个查询组合构成联合查询:实例名(分组查询三)



      
  查看联合查询结果,发现有些资编号,如:资产编号为1就出现两笔认沽数据,这是因为有的资产编号之前有数据存在,加上我们自定义的数据,因此出现认沽数据重复的情况出象。(见下图)




4、按图整理联合查询结果,实例名(分组查询结果)


   
  以上是本人在ACCESS使用中,对联合查询的一点点经验的总结归纳,写本文的目的,一是为便于自己总结提高,二是与初学者共同分享。由于本人认知有限且笔拙,不免有错漏这处,希望各位高人斧正。
                          
                                江羽 2008.7.1晚

实例样本(含本文Word版):联合查询实战演示.rar

相关阅读

最新评论

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-20 11:58 , Processed in 0.128122 second(s), 18 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部