我有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)
}
在一个结果集中获取步骤和相应距离的查询是什么?
答案 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'