【发布时间】:2012-06-04 19:53:52
【问题描述】:
我有四个这样的表:
mysql> describe courses;
+-----------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+----------------+
| course_id | int(11) | NO | PRI | NULL | auto_increment |
| course_name | varchar(75) | YES | | NULL | |
| course_price_id | int(11) | YES | MUL | NULL | |
+-----------------+-------------+------+-----+---------+----------------+
mysql> describe pricegroups;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| price_id | int(11) | NO | PRI | NULL | auto_increment |
| price_name | varchar(255) | YES | | NULL | |
| price_value | int(11) | YES | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
mysql> describe courseplans;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| plan_id | int(11) | NO | PRI | NULL | auto_increment |
| plan_name | varchar(255) | YES | | NULL | |
| plan_time | int(11) | YES | | NULL | |
+------------+--------------+------+-----+---------+----------------+
mysql> describe course_to_plan;
+-----------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| course_id | int(11) | NO | PRI | NULL | |
| plan_id | int(11) | NO | PRI | NULL | |
+-----------+---------+------+-----+---------+-------+
让我试着解释一下我拥有什么以及我想做什么......
我所有的课程 (course_id) 都有不同的步骤 (plan_id),其值为 1 天或更多天 (plan_time)。
一门课程有一个或多个步骤 (course_to_plan)
课程已连接到价格组 (price_id)。
我想查询我的 MySQL 数据库并获得输出:course_name 和 plan_id 的值,并根据 price_id 的值以及 plan_time 中的值得到如下所示的结果:
+------------+--------------+------------+---------+
| course_name| pricegroup | plan_time | RESULT |
+------------+--------------+------------+---------+
| Math | Expensive | 7 | 3500 |
+------------+--------------+------------+---------+
希望你能理解我...
我拥有的结构是否有可能,或者我应该“重建并重做正确”的东西?
【问题讨论】:
-
RESULT是如何计算的?是price_value * plan_time吗? -
结果 = price_value * plan_time?
-
例如:课程 X 有三个计划,其值为
10,5,15,它将使用课程连接到的price_id计算.例如,这可以具有值500。我的课程 X 的结果将是30 * 500 = 15000
标签: mysql foreign-keys relationship