mysql自连接查询以及映射表

时间:2014-09-24 20:11:31

标签: mysql join

我有MySql数据库,其中包含一个包含列的表:

table_1 {
  id (int),
  parameter (varchar),
  value (double)
}

现在参数可以有2个不同的值 - 步骤&距离。

我还有一个映射table_2,它将table_1中的步骤映射到table_1中的相应距离。

因此table_2只存储table_1的两个id,其架构为

table_2 {
  table_1_steps_id (int),
  table_1_distance_id(int)
}

在一个结果集中获取步骤和相应距离的查询是什么?

1 个答案:

答案 0 :(得分:1)

获得步数和距离的快捷方法是:

SELECT
  ts.value as steps,
  td.value as distance
FROM
  table_2 LEFT JOIN table_1 ts
  ON table_2.table_1_steps_id = ts.id AND ts.parameter='steps'
  LEFT JOIN table_1 td
  ON table_2.table_1_distance_id = td.id AND td.parameter='distance'