我现在担心我没有正确规范表格,因为现在我看不到加入它们的方法;
我有1个表,其中2列称为“问题”,另一个表称为“10个列的答案”,一个用于userId,然后是9个列,其中包含每个用户的所有答案(int)。
一切都适用于插入和更新,但是我有一段时间试图创建一个视图,该视图将显示所有问题,每个用户以及他们对每个问题的每个回答。
问题表;
CREATE TABLE [dbo].[Questions](
[questionId] [int] IDENTITY(1,1) NOT NULL,
[question] [nvarchar](max) NULL,
CONSTRAINT [PK_Questions] PRIMARY KEY CLUSTERED
(
[questionId] ASC
)WITH (
PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON
) ON [PRIMARY]
) ON [PRIMARY]
答案表;
CREATE TABLE [dbo].[Answers](
[empID] [nvarchar](10) NOT NULL,
[q1] [int] NULL,
[q2] [int] NULL,
[q3] [int] NULL,
[q4] [int] NULL,
[q5] [int] NULL,
[q6] [int] NULL,
[q7] [int] NULL,
[q8] [int] NULL,
[q9] [int] NULL,
CONSTRAINT [PK_Answers] PRIMARY KEY CLUSTERED
(
[empID] ASC
)WITH (
PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON
) ON [PRIMARY]
) ON [PRIMARY]
我没有尝试过任何作品,所以你们所有可以帮助我避免重新制作表格的想法都会非常感激!
提前感谢您的帮助。
亚历
答案 0 :(得分:2)
在我看来,你的答案表应该有问题表的外键。除非答案可以引用多个问题,在这种情况下,我会说你应该考虑像映射/关系表这样的表格,它有答案和问题表格的FK。
答案 1 :(得分:0)
我认为您可能需要调查pivot tables才能完成任务。