以下にリストされている2つのテーブルがあります。
表A
StudentID StudentName
1 A
2 B
3 C
4 D
5 E
表B
StudentID ClassID SectionID
1 2 5
3 2 7
今、入力リストのすべての項目が一致する学生を取得しようとしています。
たとえば、入力リスト (ClassID & SectionID) を (2, 5) として
渡すと、 StudentID : 1 が返されます。入力リストを (2, 5 | 1, 1) として渡すと、 StudentID は返されません。 1
DECLARE @tblData AS TABLE
(
[ClassID] INT
,[SectionID] INT
)
INSERT INTO @tblData VALUES (2, 5)
INSERT INTO @tblData VALUES (2, 1)
SELECT
A.[StudentID]
,A.[StudentName]
,B.[ClassID]
,B.[SectionID]
FROM
[AAAAAA] AS A
INNER JOIN [BBBBBB] AS B
ON A.[StudentID] = B.[StudentID]
INNER JOIN @tblData AS C
On B.[ClassID] = C.[ClassID] AND B.[SectionID] = C.[SectionID]
残念ながら、上記のクエリは期待値を返しません。
手伝ってくれませんか?