表A,字段:姓名 等等
表B,字段:姓名,课程名称,是否通过(1通过,0没有通过)
输出形式:
姓名 选课数 通过数
注:有可能有的学生没有选课,那表B就没有他的信息,那课程数目就是0,通过数目也是0.
实在是不会了,查的晕死了,就靠各位大虾了。拜托拜托!
------解决思路----------------------
select A.姓名,count(case when 课程名称 is null then 1 else 0 end) as 选课数,
sum(isnull(是否通过,0)) as 通过数
from A
left join B on A.姓名=B.姓名
group by A.姓名
------解决思路----------------------
小调一下
SELECT
A.姓名
,COUNT(B.课程名称)选课数
,ISNULL(SUM(B.是否通过),0)通过数
FROM
A LEFT JOIN B ON A.姓名=B.姓名
GROUP BY
A.姓名