2
SELECT S.studentID AS 'ID', S.FirstName + ' ' + S.LastName AS 'Full Name', M.Marks AS 'Subject'
FROM Student AS S
LEFT JOIN Mark AS M ON S.studentID = M.studentID AND M.subjectID = 'S1001'
WHERE S.batchID = 1
이 하나의 데이터 만 보여줍니다 ...이 테이블은
Student - studentID, batchID, courseID, FirstName, Last Name ...
Subject - subjectID, courseID, subjectName ...
Mark - markID, studentID, subjectID, Marks
Course - courseID, courseName ...
나는이와 결국 마지막으로 오랫동안이 작업을 시도하고있다가 하나의 제목에 대해서만 subjectName이 subjectID를 사용하여 C# (Winforms)에 의해 생성됩니다.
Student ID | Full Name | Elementary Programming in C
-------------------------------------------------------
1 | student name | 50
2 | abc | 80
하지만 난이 (내가 subjectID가 주어진다면 윈폼을 사용하여 열 머리글을 생성해야하는 경우 상관하지 않습니다) 것처럼, 그 열에서 모든 과정에서 주제와 각각의 표시를 보여주고 싶은 ... .
Student ID | Full Name | Elementary Programming in C | HTML | ...
-----------------------------------------------------------------
1 | student name | 50 | 70 | ...
2 | abc | 80 | 60 | ...
나는 피벗을 사용하여 시도했다, 그러나 그것은 매우 성공하지 못한 ... 희망 누군가가 나에게 아이디어 또는 두 가지를 줄 수 있으며, 좀 더 자세한 정보가 필요하면 그냥 물어
학생 수가 얼마나되는지 알고 계십니까? – sgeddes
@sgeddes 학생은 1 코스에만 참여할 수 있으므로 1 코스 만 참가할 수 있습니다. – Yve
미리 정의 된 수의 예상 열이 있거나 결과 당 동적 인 것을 의미합니다. 고급 (예 : 기본 프로그래밍, html, C#, sql 등)의 열을 알고있는 경우 피벗 테이블을 쉽게 만들거나'max'를'case'와 함께 사용할 수 있습니다. 동적 컬럼 세트를 가지고 있다면'동적 SQL '문을 생성해야합니다. – sgeddes