sqlserver子查询返回的值不止一个。该怎么改。

u014580778 2014-04-20 04:59:54
如图,我想实现按学校的pr1分类计算,但是实现不了

这样的话结果返回并没有按照group by,我在cast里写group by 则会导致子查询返回值不止一个的报错。求大神指导。
...全文
767 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shinger126 2014-04-21
  • 打赏
  • 举报
回复
表结构,数据贴出来,这样很难猜你的意图的;而且你的Schoolname=Schoolname这样的条件不觉得又多余又愚蠢?
tlyee 2014-04-20
  • 打赏
  • 举报
回复
引用 3 楼 yupeigu 的回复:
[quote=引用 2 楼 u014580778 的回复:] [quote=引用 1 楼 yupeigu 的回复:] 子查询返回值不止一个的报错 这个说明,你的语句中的子查询返回了超过一个值,所以就会报错的
像我图片上那样,如果我要按照schoolname分别计算pr1,请问那该怎么弄?[/quote] 能把语句直接贴出来不,这个图没办法帮你修改。。。[/quote] 语句就在上面图片那段加蓝的就是 select cast( (select COUNT(*) from Schools join Applications on Applications.Sch_id=Schools.Schoolid where Type='本科' and score1<2300 and Score2<111 and Schoolname=Schoolname group by Schoolname)/ ((select COUNT(*) from Schools join Applications on Applications.Sch_id=Schools.Schoolid where Type='本科' and Schoolname=Schoolname GROUP by Schoolname)+0.0*100)*100 As Dec(4,2)) as pre1,Schoolname from Schools join Applications on Applications.Sch_id=Schools.Schoolid group by schoolname
LongRui888 2014-04-20
  • 打赏
  • 举报
回复
引用 2 楼 u014580778 的回复:
[quote=引用 1 楼 yupeigu 的回复:] 子查询返回值不止一个的报错 这个说明,你的语句中的子查询返回了超过一个值,所以就会报错的
像我图片上那样,如果我要按照schoolname分别计算pr1,请问那该怎么弄?[/quote] 能把语句直接贴出来不,这个图没办法帮你修改。。。
tlyee 2014-04-20
  • 打赏
  • 举报
回复
引用 1 楼 yupeigu 的回复:
子查询返回值不止一个的报错 这个说明,你的语句中的子查询返回了超过一个值,所以就会报错的
像我图片上那样,如果我要按照schoolname分别计算pr1,请问那该怎么弄?
LongRui888 2014-04-20
  • 打赏
  • 举报
回复
子查询返回值不止一个的报错 这个说明,你的语句中的子查询返回了超过一个值,所以就会报错的

22,210

社区成员

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

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