2015-01-11 5 views
1

그래서이 코드는 있습니다.하위 쿼리를 계산하는 방법

SELECT TestName 
FROM Testtype 
WHERE TestID IN (Select TestID 
        from Tests 
        where Testno IN (Select Testno 
             from Users 
             WHERE StudentType= 'StudentType1' 
            ) 
        ) 

이 때문에 출력이 얼마나 많은 경기 TEST1에 대한 그래서 내가 의지 할 수 있도록 걸려

Test1 
Test2 

같은 학생 유형 일치하는 테스트의 이름을 그냥 목록을 생성 은

No of student that undertook the test Test Type 
52          Test1 
23          Test2 

감사합니다.

답변

2

조인과 서브 쿼리를 교체하고 GROUP BY을 추가 또한

SELECT tt.TestName, COUNT(*) as NoOfStudents 
FROM TestType tt 
JOIN Tests t ON tt.TestID=t.TestID 
JOIN Users u ON t.Testno=u.Testno AND u.StudentType= 'StudentType1' 
GROUP BY tt.TestName 
+0

감사합니다. – Yoyo1233242

0

Youcan 사용이 쿼리를.

SELECT TestName,count(*) StudentsCount 
FROM Testtype tt, 
    Tests t, 
    Users usr 
where usr.StudentType='StudentType1' 
    and usr.Testno = t.Testno 
    and t.TestID=tt.TestID 
group by TestName 
관련 문제