0
나는 지식을 새로이 들라는 짧은 퀴즈를 제공하는 훈련 관리 웹 기반 시스템을 개발 중이다. 각 부서에서 마지막으로 보내는 퀴즈에 참가자가 아닌 사람의 이름을 표시하는 방법은 무엇입니까?
Employee Table: Username, Name, DivisionCode
Divisions Table: SapCode, DivisionShortcut
Quiz Table: QuizID, Title, IsSent
Question Table: QuestionID, Question, QuizID...
UserQuiz Table: UserQuizID, QuizID, Username, Score.
난 그냥 마지막 퀴즈의 모든 부문에서 모든 비 참가자의 이름을 표시하는 쿼리를 마련 할 수 있었다 : 어쨌든, 나는 다음과 같은 데이터베이스 디자인을 가지고있다. 지금 내가 원하는 것은 참여자에게 보내진 모든 퀴즈에 비 참가자 이름을 표시하는 것입니다. 결과는 퀴즈 제목과 DivisionShortcut별로 그룹화되어 나열되어야합니다.
그렇게하는 방법?
내 쿼리 :
SELECT d.DivisionShortcut, e.Name
FROM employee e
join Divisions d on (e.DivisionCode = d.SapCode)
left join (select A.QuizID, a.Username
from UserQuiz a join
(select max(QuizID) QuizID from dbo.Quiz where IsSent=1) b
on a.QuizId = b.QuizID) c
on e.Username = c.Username
WHERE c.QuizID is null
Order By d.DivisionShortcut
감사합니다 . 정말 감사. – user1395782