如何以有效的方式加入这三个表?

时间:2014-09-08 12:26:56

标签: mysql database join

我正在进行数据库设计,每个用户都有一台机器,包含7个组件。每个组件都有一个级别。想想浏览器游戏,你必须在其中升级不同的东西。

这是用户表中的图片。我需要从中获取一个用户行。

User table

将此表连接到该表,该表将列名称解析为组件的ID。

Machine types

然后选择7个列,其中包含与用户行匹配的匹配级别和ID。

Machine upgrades

用户表将包含大量行,因此必须在where子句之后进行连接。

我从来没有真正看过加入,但在这里,我是一个非常复杂的人,我不知道从哪里开始。什么是一个合适的mysql查询,你能详细说明它是如何工作的吗?这是一个学习项目,所以对工作解决方案的每一个提示都非常感谢!

修改

以下是一个用例示例:

用户ID为3的用户登录。他的ID行表明他的能量组件为0级,他的cpu组件为1级。解析这些名称,我们发现能量的ComponentID为1, cpu的ComponentID为3.我们将这些与升级表相匹配,并发现ComponentID为1且level为0的组件的输出为15,而LevelID为1的组件为1的组件的输出为8。 / p>

+------+------+-----+----------+------+----+
|UserID|type  |level|level_name|output|etc.|
+------+------+-----+----------+------+----+
|3     |energy|0    |Knopfzelle|15    |... |
+------+------+-----+----------+------+----+
|3     |cpu   |1    |Register  |8     |... |
+------+------+-----+----------+------+----+

删除用户列甚至可以......

EDIT2:

感谢这个问题下的所有评论,我决定审查我的数据库结构,并在出现新问题时开始一个新问题。如果您有针对此特定 bad_design 用户案例的解决方案,即使这是不好的做法,我也很乐意看到它。

0 个答案:

没有答案