2016-03-29 4 views
-1

У меня есть таблица say Student. Это имеет 2 колонки studentid и Classidнужна помощь в запросе SQL Server

Anotehr стол Класс, который имеет ClassID и ClassDescription

Предположим, класс имеет значения

ClassID ClassDescription 
1 A 
2 B 
3 C 
4 D 
5 E 

Я хочу, чтобы создать запрос, чтобы выяснить, студентов, которые приняли участие в и B. Это должен быть динамический запрос, так что в следующий раз, когда мне потребуется qry, чтобы узнать, кто участвовал в A, B и C или B, C и D, я должен использовать его.

+0

Пожалуйста, ясно. что вы имеете в виду: «В следующий раз мне потребуется qry, чтобы узнать учеников, которые посещали A, B и C или B, C и D» – FLICKER

ответ

0

Создать новую таблицу filterClass быть вашим динамичнее источник как

FilterID 
'A' 
'B' 
'C' 

Тогда ваш запрос

SELECT S.StudentID 
FROM Student S 
JOIN Class C 
    ON S.class_id = C.class_id 
JOIN filterClass F 
    ON C.ClassDescription = F.FilterID 
GROUP BY S.StudentID 
HAVING COUNT(C.ClassDescription) = (SELECT COUNT(FilterID) FROM filterClass) 

В этом случае SELECT COUNT(FilterID) FROM filterClass будет 3 (A,B,C)

Смежные вопросы