问题是: 我有一张包含详细信息的表格,用户在注册或更新个人资料或参加不同考试时会使用该表格。 我需要的报告会有一些计算,比如总分。 我想好像最好创建新的表女巫包括我需要的报告,或者最好在同一张表上工作。
最佳答案
您能否提供更多详细信息?您要查询的表中有哪些可用字段?你想如何显示这些信息?在网站上?要报告吗?
根据您的描述,您需要两个表。一个表(我们称其为'users')将包含有关每个用户的信息,另一个表将包含实际考试成绩(我们称该表为'results')。
'user' 表中的每个人都有一个唯一的 ID 号(我称之为 UID)来识别他们, 中的每个分数'results' 表也有与分数相关的人的 UID。通过在“结果” 表中包含用户的 UID,您可以链接无限数量的结果(称为一对多关系)。
“用户” 表可能如下所示:
userUID (UID for each person) | Name | User Details
1 | Barack Obama | President
2 | George Bush | Ex-President
“结果” 表可能如下所示:
UID for each exam | userUID (UID of the person who look the test) | Score
1 | 1 | 85
2 | 2 | 40
3 | 1 | 82
4 | 2 | 25
我总是喜欢为考试之类的事情添加一个 UID,因为它可以让您轻松找到特定的考试结果。
无论如何...获取 Barack Obama 的所有结果的查询如下所示:
SELECT Score From 'results' WHERE userUID = 1
要获得 George Bush 的结果,您只需将 userUID 更改为 2。在运行此查询之前,您显然需要知道用户的 UID (userUID)。
请注意,这些是非常基本的示例(涉及虚构人物;))。您可以轻松地将聚合分数字段添加到“用户” 表,并在每次向“结果” 表添加新结果时更新该字段。根据您的代码设置方式,这可以节省您的查询。
祝您好运 - 希望这对您有所帮助!
关于mysql - 在表上生成报告的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/829881/