세 개의 테이블이 있는데 필자는 질문에 불필요한 정보를 제거하여 맨손으로 보이지 않는 이유입니다.한 행의 일대 다 관계에있는 모든 레코드 얻기
세션
SessionId (int) PK
답변
AnswerId (int) PK
AnswerDetail (varchar)
QuestionNumber (int)
IsCorrect (bit, null)
SessionAnswers
SessionAnswerId (int) PK
QuestionNumber (int)
SessionId (int) FK
AnswerId (int) FK
가 상상 10 개의 질문으로 각각 Session
에 대한 행을 갖고 싶습니다. 그리고 각각의 질문과 대답은 모두 같은 행에 있습니다. 나는. Session
각각에 대해 각 질문 번호와 해당 세션의 대답이 나와야합니다.
불행히도 SQL을 몇 년 동안 직접 작성하지 않았으므로 약간의 어려움을 겪고 있습니다. 지금까지이 데이터를 보여주기 위해 관리했지만 세션에서 제공하는 모든 대답에 대해 새로운 행을 제공합니다.
SELECT dbo.Sessions.SessionId, dbo.Answers.IsCorrect, dbo.Answers.QuestionNumber
FROM dbo.Answers INNER JOIN
dbo.SessionAnswers ON dbo.Answers.AnswerId = dbo.SessionAnswers.Answer_AnswerId INNER JOIN
dbo.Sessions ON dbo.SessionAnswers.Session_SessionId = dbo.Sessions.SessionId
내 목표를 달성하기 위해 무엇을 고려해야합니까?
하지만 제가보고 싶은 것은 : : 내가 현재 무엇을보고이 여기
각 SessionAnswer
을 반복하는 방법을 잘 모르겠어요
SessionId | Date | QuestionNumber1 | IsCorrect | QuestionNumber2 | IsCorrect
------------------------------------------------------------------------------
1 | Date | AnswerDetail1 | IsCorrect1 | AnswerDetail2 | IsCorrect2
즉, 내 그림의 행 1-12는 모두 같은 행에 있어야합니다.
는 소리. 세션에 대한 하나의 행, 피봇 테이블과 같은 해당 세션 내의 각 질문 및 답변에 대한 하나의 열. 이것은 SQL-Server에서 달성하기가 매우 어려우며 동적 인 SQL이 꽤 필요할 것입니다. – JDB
@ Cybȫʁgϟ37 아니요, 열 수는 고정되어 있습니다. – ediblecode
귀하의 질문에 따라하기가 매우 어렵습니다. 질문 ** X ** 및 대답 ** X **는 무엇을 나타 냅니까? – JDB