2016-03-29 10 views
-1

Ich habe eine Tabelle sagen Student. Dies hat zwei Spalten StudentID und classidbenötigen Hilfe in SQL Server-Abfrage

Anotehr Tabelle Klasse, die ClassID und ClassDescription hat

Angenommen, der Klasse hat Werte

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

Ich möchte eine Abfrage erstellen Studenten um herauszufinden, wer A besucht haben und B. Dies sollte eine dynamische Abfrage sein, so dass das nächste Mal, wenn ich ein Qry benötige, um Schüler zu finden, die A, B und C oder B, C und D besucht haben, ich in der Lage sein sollte, sie zu verwenden.

+0

Bitte machen klar. Was meinst du mit: "Nächstes Mal benötige ich ein Qry, um Schüler zu finden, die an A, B und C oder B, C und D teilgenommen haben" – FLICKER

Antwort

0

Erstellen Sie eine neue Tabelle filterClass Ihre dinamic Quelle zu sein, wie

FilterID 
'A' 
'B' 
'C' 

dann Ihre Abfrage

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) 

In diesem Fall ist, wird SELECT COUNT(FilterID) FROM filterClass 3 sein (A,B,C)

Verwandte Themen