我有三张桌子,我已经删除了我的问题不需要的信息,所以这就是为什么它们看起来毫无意义。
会话
SessionId (int) PK
答案
AnswerId (int) PK
AnswerDetail (varchar)
QuestionNumber (int)
IsCorrect (bit, null)
会话答案
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
我图片中的 IE 行 1-12 应该都在同一行