子查询(SQL 2000)

fanncy1206 2003-10-21 08:56:52
我想在原有的查询结果中,再进行查询。这样的查询的次数不限。请问有什么好的办法可以实现?用临时表可以实现吗?不可以的话,有没有别的办法?
谢谢!
...全文
30 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
rocllllll 2003-10-21
  • 打赏
  • 举报
回复
还是推荐"马可"的方法
jkljf 2003-10-21
  • 打赏
  • 举报
回复
那你可以做一个全局临时表阿, 完了再drop不就可以了吗
fanncy1206 2003-10-21
  • 打赏
  • 举报
回复
to yujohny(踏网无痕)
我也是这样想的,但是临时表是有生存周期的。
我现在的问题是当我执行完一个sql后,我可以把结果放到临时表中,但我不知道当我执行下一个sql的时候这张临时表是否还存在,还有就是我能不能把查询结果存入这张临时表中
yujohny 2003-10-21
  • 打赏
  • 举报
回复
如果多次用到第一次查询的结果,
你应该放到一个临时表,这样的好处可以减轻在原表的大数据量中反复查询
fanncy1206 2003-10-21
  • 打赏
  • 举报
回复
可能是我的意思没有表达清楚,我是在用vb写一个查询模块,它支持在已有的结果中进行子查询。我的想法是:先把第一次的查询结果存入临时表,然后在临时表中进行查询,再把结果存入临时表中,……,最后得到查询结果。
pengdali 2003-10-21
  • 打赏
  • 举报
回复
select * from (select * from xx where a=1) 别名必须写,但你可以随便写一个 where tt=2
pengdali 2003-10-21
  • 打赏
  • 举报
回复

用临时表可以实现:

select * into #aa from xx where a=1

select * from #aa where tt=2

drop table #aa
txlicenhe 2003-10-21
  • 打赏
  • 举报
回复
3:再加一层
Select * from (
Select a,sum(b) from
(Select a,b,c,d from table1 where ...) abcd --别名,可以任意指定
group by a
) ab
where a > 100
txlicenhe 2003-10-21
  • 打赏
  • 举报
回复
eg:
1: Select a,b,c,d from table1 where ...
2:
Select a,sum(b) from
(Select a,b,c,d from table1 where ...) abcd --别名,可以任意指定
group by a

pengdali 2003-10-21
  • 打赏
  • 举报
回复
select * from (select * from xx where a=1) tem where tt=2

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧