设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2311|回复: 2
打印 上一主题 下一主题

[查询] 求一个查询,附实例

[复制链接]
跳转到指定楼层
1#
发表于 2013-2-4 11:22:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 isyuan 于 2013-2-4 15:53 编辑

查询一:temp_1
  1. SELECT zyh AS 代码,zymc AS 名称 FROM DSPEC
  2. UNION (SELECT Lbh,Lbmc FROM NPROFF
  3. UNION SELECT Xdh,Xdmc FROM XD);
复制代码
查询二:temp_2,调用了已经存在的temp_1
  1. SELECT Difference.Zkzh AS 准考证号码, Difference.Code AS 报名号, Difference.Name AS 姓名, Difference.FieldName AS 列, IIf(IsNull([temp_1].[名称]),[before],[temp_1].[名称]) AS 以前, IIf(IsNull([temp_1_1].[名称]),[now],[temp_1_1].[名称]) AS 现在
  2. FROM (Difference LEFT JOIN temp_1 ON Difference.Before = temp_1.代码) LEFT JOIN temp_1 AS temp_1_1 ON Difference.[Now] = temp_1_1.代码
  3. ORDER BY Difference.Zkzh;
复制代码
求解:把二个查询合并,用一个查询实现。

附实例下载。谢谢!

该问题困扰我多天了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖1 订阅订阅
2#
发表于 2013-2-4 13:46:03 | 只看该作者
应该可以用别名来处理,类似于:
select  * from (select * from B) as A
创建查询跟执行查询是两码事,查询运行速度跟创建查询的多少并没有必然联系,而跟索引属性、语句可读性和查询条件等等有关系。能够一个查询完成的,固然没必要分成几个。但是,出于可读性和直观性,有时候确实不必非要寻求一步到位的查询。毕竟别名用多了,不方便检查和修改查询。——反正我宁可在窗格里修改查询也不愿去编辑N个别名的SQL语句。
3#
 楼主| 发表于 2013-2-5 13:36:14 | 只看该作者
本帖最后由 isyuan 于 2013-2-16 10:10 编辑

算了,解决不了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 19:20 , Processed in 0.090690 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表