我有三张桌子,我已经删除了我的问题不需要的信息,所以这就是为什么它们看起来毫无意义。
会话
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 应该都在同一行