设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] access sql 查询如何做成临时表

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-1 22:24:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
晚上有人在吗?

俺有问题要问问

关于ACCESS

后一个查询要从前一个动态查询中得到数据

我想把前一个查询做成临时表

可是查下资料ACCESS没有临时表的概念
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-3-2 06:49:32 | 只看该作者
直接把前一个动态查询更改为生成表查询即可。
3#
发表于 2009-3-2 09:20:03 | 只看该作者
两个方案,
1。 可以考虑直接把第二个查询设计好,一般来说可以不需要动态临时表的。直接依靠查询实现。
2。 生成一个表,用完后删除。select * into tmpMytable from tableName, 用完后drop table tmpMytable

首选方案1



******************
*  一切皆有可能  *
******************

.
ACMAIN - Access论坛回贴准则(个人).
.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/BList/OtherDatabase .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
4#
 楼主| 发表于 2009-3-7 05:26:39 | 只看该作者
多谢楼上两位兄台相救
我的第一个查询条件每次都要变的,不能固定下来,我把SQL 语句贴上来你们看看就知道了

第一次查询

SELECT DISTINCT 学籍图.班 AS 班极, sum(语文) AS 语文成绩, sum(数学) AS 数学成绩, sum(英语) AS 英语成绩, sum(物理) AS 物理成绩, sum(政治) AS 政治成绩, sum(历史) AS 历史成绩, sum(化学) AS 化学成绩, sum(语文+数学+英语+物理+政治+历史+化学) AS 总分
FROM 初中统考表 INNER JOIN 学籍图 ON 初中统考表.学生=学籍图.id
WHERE 初中统考表.考试=4 and 学籍图.删除=0 and 学籍图.学校id=1
GROUP BY 学籍图.班;

这里的“WHERE 初中统考表.考试=4 ”每次要变的

第二次查询
SELECT 班极, ( select count(*) from 班极各科排名汇总 where 语文成绩>=a.语文成绩 ) AS 语文名次, ( select count(*) from 班极各科排名汇总 where 数学成绩>=a.数学成绩 ) AS 数学名次, ( select count(*) from 班极各科排名汇总 where 英语成绩>=a.英语成绩 ) AS 英语名次, ( select count(*) from 班极各科排名汇总 where 物理成绩>=a.物理成绩 ) AS 物理名次, ( select count(*) from 班极各科排名汇总 where 政治成绩>=a.政治成绩 ) AS 政治名次, ( select count(*) from 班极各科排名汇总 where 历史成绩>=a.历史成绩 ) AS 历史名次, ( select count(*) from 班极各科排名汇总 where 化学成绩>=a.化学成绩 ) AS 化学名次, ( select count(*) from 班极各科排名汇总 where 总分>=a.总分 ) AS 总名次, 总分 AS 总成绩
FROM 班极各科排名汇总 AS a
ORDER BY 语文成绩 DESC;
where 中的每次不变
5#
发表于 2009-3-7 07:36:07 | 只看该作者
本帖最后由 wu8313 于 2009-3-7 07:42 编辑

'Microsoft DAO 3.6 Object Library.
'================================
    Dim qdf As DAO.QueryDef 'qdf被定义为一个查询定义对象
    Dim strSQL As String
   
Strsql=”SELECT DISTINCT 学籍图.班 AS 班极, sum(语文) AS 语文成绩, sum(数学) AS 数学成绩, sum(英语) AS 英语成绩, sum(物理) AS 物理成绩, sum(政治) AS 政治成绩, sum(历史) AS 历史成绩, sum(化学) AS 化学成绩, sum(语文+数学+英语+物理+政治+历史+化学) AS 总分
FROM 初中统考表 INNER JOIN 学籍图 ON 初中统考表.学生=学籍图.id
WHERE 初中统考表.考试=4 and 学籍图.删除=0 and 学籍图.学校id=1
GROUP BY 学籍图.班;”
   
    Set qdf = CurrentDb.QueryDefs("第二次查询想要的数据")
    qdf.SQL = strSQL
    qdf.Close   
    Set qdf = Nothing

运行上述代码,将会产生一个名称为 "第二次查询想要的数据" 的查询,就可以作为第二次查询的依据了。

上述过程就好比你贴入sql语句到查询设计窗格,然后再保存的过程。如果贴入strsql每次不同,那就生成不同的结果替换上次保存的结果。

剩下来的问题就是,怎么让每次贴入的sql语句不同,从而达到你说的"动态"
6#
 楼主| 发表于 2009-3-7 22:00:12 | 只看该作者
多谢wu8313 ,我要的就是这个!!!亲一个!!!哈哈
7#
 楼主| 发表于 2009-3-8 21:31:45 | 只看该作者
wu8313  好像IIS5。5不技持dao3。6,我在做网站的!!!用IIS服务器
8#
发表于 2010-11-13 08:18:18 | 只看该作者
学习学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 04:32 , Processed in 0.097701 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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