sql中如何为查询出来的表起别名呢,而且能根据查询后的表别名就查找
答案:5 悬赏:50 手机版
解决时间 2021-01-18 15:20
- 提问者网友:鼻尖触碰
- 2021-01-17 19:19
sql中如何为查询出来的表起别名呢,而且能根据查询后的表别名就查找
最佳答案
- 五星知识达人网友:几近狂妄
- 2021-01-17 20:18
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追问不对这样查的数据有些是数据没有了追答你把top 1000去掉
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去掉
全部回答
- 1楼网友:妄饮晩冬酒
- 2021-01-18 00:50
select top 1000 * from (
SELECt [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 [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
- 2楼网友:野味小生
- 2021-01-18 00:20
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追问不对,结果跟其他俩一样的,都是有些记录没有了
- 3楼网友:山有枢
- 2021-01-17 22:46
你的要求正是视图的作用,创建个视图吧
----------
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追问结果是一点没变,还是少追答那就把内部的那个top 5000直接去掉,top值在外面取,如果还是少,那只能说明你表中符合数据就只有那么多了
----------
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追问结果是一点没变,还是少追答那就把内部的那个top 5000直接去掉,top值在外面取,如果还是少,那只能说明你表中符合数据就只有那么多了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯