sql2000怎么不可以把查询几个表得到的结果通过别名当做一个临时表呢? 30
3个回答
展开全部
1,表可分为
普通表:这个都知道。
视图:一种只存储结构不存储数据的特殊表(这个大家也知道)。
临时表:sql2000临时表是以#开头的,不存储在当前数据库中,存储在temp数据库中;其 他数据库和sql不一样的。
派生表:也就是你指的别名表。比如
select * from (select * from A) as B
此处的B表就是一个派生表,它代表select * from A。
所以呢你所说的“查询几个表得到的结果通过别名”【派生表】当作一个“临时表”说法就是错误的。
2,你如果要创建临时表:那么请在你创建普通表的表名前面加上#。
如create table #tablename()
3,sql2005,2008中支持with语法:
举个例子给你:
with A as
SELECT * FROM X
SELECT * FROM A这个时候A就成了一个别名了。
普通表:这个都知道。
视图:一种只存储结构不存储数据的特殊表(这个大家也知道)。
临时表:sql2000临时表是以#开头的,不存储在当前数据库中,存储在temp数据库中;其 他数据库和sql不一样的。
派生表:也就是你指的别名表。比如
select * from (select * from A) as B
此处的B表就是一个派生表,它代表select * from A。
所以呢你所说的“查询几个表得到的结果通过别名”【派生表】当作一个“临时表”说法就是错误的。
2,你如果要创建临时表:那么请在你创建普通表的表名前面加上#。
如create table #tablename()
3,sql2005,2008中支持with语法:
举个例子给你:
with A as
SELECT * FROM X
SELECT * FROM A这个时候A就成了一个别名了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以的啊
select * from(select * from 表A,表B,表C)t
这里t就是括号里面几个表的查询结果 可以这样用的哈
下面是我自己测试使用的一个例子
select * from (select top 10 * from t_icitem) t where t.fitemid=3528
select * from(select * from 表A,表B,表C)t
这里t就是括号里面几个表的查询结果 可以这样用的哈
下面是我自己测试使用的一个例子
select * from (select top 10 * from t_icitem) t where t.fitemid=3528
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以,限制比较多
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询