我有个sql:

msuxx 2006-01-30 03:53:27
我有个sql:
select t.studid,t.grade from transcript t
where t.grade='A' group by t.studid ,t.grade
having count(*)=????????


我想让????????????的值等于下面的count(*)的值,如何连接2个sql 呢?
select count(*) as ttt,studid from transcript group by studid)

原题目如下:
找出所有每门课程都是A的学生的最小年龄.
表结构如下:
create table STUDENT
(
STID INTEGER not null,
STNAME CHAR(20) not null,
STADDRESS CHAR(50) not null,
STSTATUS CHAR(10) default 'freshman',
STAGE INTEGER not null
)
create table TRANSCRIPT
(
STUDID INTEGER,
CRSCODE CHAR(6),
SEMEATER CHAR(6),
GRADE CHAR(1)
)
...全文
93 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
msuxx 2006-01-31
  • 打赏
  • 举报
回复
谢谢上面2位的提示,可能是我的描述有些问题,因该是找出一个学生他所有的课程都是A 同时他的年龄是所有都是A的学生里面最小的.
$扫地僧$ 2006-01-30
  • 打赏
  • 举报
回复
Try:
select top 1 * from STUDENT
where STID in
(select STUDID
from TRANSCRIPT
where STUDID not in(select STUDID from TRANSCRIPT where GRADE<>'A'))
order by STAGE
zlp321002 2006-01-30
  • 打赏
  • 举报
回复
--try
select STNAME from STUDENT A
where not exists
(select 1 from STUDENT where STAGE>A.STAGE)
and STUDID in
(
select STUDID from TRANSCRIPT
where GRADE='A'
group by STUDID,CRSCODE
)
zlp321002 2006-01-30
  • 打赏
  • 举报
回复
select t.studid,t.grade from transcript t
where t.grade='A' group by t.studid ,t.grade
having count(*)=(
select count(*) from transcript where studid=t.studid
)

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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