sql中如何为查询出来的表起别名呢,而且能根据查询后的表别名就查找
SELECTTOP1000[id],[Type],[Student],[Score]=casewhen[ReExam]>[Score]then[ReExam]else[S...
SELECT TOP 1000 [id],
[Type],
[Student],
[Score]=
case
when [ReExam]>[Score] then [ReExam]
else [Score]
end ,
[ExamTime],
[AddUser],
[IsLock],
[Class]
FROM [Test].[dbo].[StudentExam] A
where A.type=0
这是查询出来的数据,但是还有个条件是[Score]>80 AND [Score]<95
怎么查啊
不能创建视图,只能用sql语句查找 展开
[Type],
[Student],
[Score]=
case
when [ReExam]>[Score] then [ReExam]
else [Score]
end ,
[ExamTime],
[AddUser],
[IsLock],
[Class]
FROM [Test].[dbo].[StudentExam] A
where A.type=0
这是查询出来的数据,但是还有个条件是[Score]>80 AND [Score]<95
怎么查啊
不能创建视图,只能用sql语句查找 展开
7个回答
展开全部
其别名的话 用AS 关键字, 比如 select * from table1 as newtable
这样就可以了。。望采纳
这样就可以了。。望采纳
追问
起别名不是重点,重点在我怎么查数据
追答
嗯 这个问题问的很好 你可以给它起一个临时表名 然后 再去用那个临时表名 就OK了,比如说:http://www.csharpwin.com/dotnetspace/8264r5883.shtml
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的要求正是视图的作用,创建个视图吧
----------
ls给的答案跟视图是一个效果,你要求的结果恐怕实现不了
首先内部别名要求结果集1000条数据,外部再加入where筛选条件肯定要低于这个数量
----------
ls给的答案跟视图是一个效果,你要求的结果恐怕实现不了
首先内部别名要求结果集1000条数据,外部再加入where筛选条件肯定要低于这个数量
更多追问追答
追问
数据条数这个可以更改的,不一定就要是1000条
追答
那就照着ls的改改数量呗
select top 1000 * from (
SELECT TOP 5000 [id],
[Type],
[Student],
[Score]=
case
when [ReExam]>[Score] then [ReExam]
else [Score]
end ,
[ExamTime],
[AddUser],
[IsLock],
[Class]
FROM [Test].[dbo].[StudentExam] A
where A.type=0
) aaaaa
where [Score]>80 AND [Score]<95
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT * FROM (
SELECT TOP 1000 [id],
[Type],
[Student],
[Score]=
case
when [ReExam]>[Score] then [ReExam]
else [Score]
end ,
[ExamTime],
[AddUser],
[IsLock],
[Class]
FROM [Test].[dbo].[StudentExam] A
where A.type=0
) AA WHERE AA.[Score]>80 AND AA.[Score]<95
SELECT TOP 1000 [id],
[Type],
[Student],
[Score]=
case
when [ReExam]>[Score] then [ReExam]
else [Score]
end ,
[ExamTime],
[AddUser],
[IsLock],
[Class]
FROM [Test].[dbo].[StudentExam] A
where A.type=0
) AA WHERE AA.[Score]>80 AND AA.[Score]<95
追问
不对,结果跟其他俩一样的,都是有些记录没有了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from (
SELECT TOP 1000 [id],
[Type],
[Student],
[Score]=
case
when [ReExam]>[Score] then [ReExam]
else [Score]
end ,
[ExamTime],
[AddUser],
[IsLock],
[Class]
FROM [Test].[dbo].[StudentExam] A
where A.type=0
) aaaaa
where [Score]>80 AND [Score]<95
或者 as aaaaa
SELECT TOP 1000 [id],
[Type],
[Student],
[Score]=
case
when [ReExam]>[Score] then [ReExam]
else [Score]
end ,
[ExamTime],
[AddUser],
[IsLock],
[Class]
FROM [Test].[dbo].[StudentExam] A
where A.type=0
) aaaaa
where [Score]>80 AND [Score]<95
或者 as aaaaa
追问
不对这样查的数据有些是数据没有了
追答
你把top 1000去掉
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询