我有一个问卷表和一个问题单。
我需要在我的问卷中记录问题的顺序,这可能需要另一个表格。
示例:
问卷可能会显示问题42,然后是56然后14。
另一份调查表可能记录问题34、67、56、27
多份问卷使用的相同问题。
问卷
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(255) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
+----------+--------------+------+-----+---------+----------------+问题
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(255) | NO | PRI | NULL | auto_increment |
| question | varchar(255) | NO | | NULL | |
+----------+--------------+------+-----+---------+----------------+发布于 2014-01-08 19:36:26
我建议你建立第三张表格,把问题和问卷联系起来。就像这样:
questionnaire_link
questionnaire_id question_id sortOrder
1 42 1
1 56 2
1 14 3
2 34 1
2 67 2
2 56 3
2 27 4(确保向此表添加索引)
然后,您可以进行这样的查询,得到所有的问题:
SELECT question.name FROM question
JOIN questionnaire_link ON question.id = questionnaire_link.question_id
WHERE questionnaire_link.questionnaire_id = 1发布于 2014-01-08 19:31:24
您可能需要一个M:M关系表之间的问题和问卷,可能与fk的Question.id和Questionnaire.id和一个列的数字问题是。这样你就可以找到每一个问题调查表的id和排序的问题号,并加入到试题表。
https://stackoverflow.com/questions/21004705
复制相似问题