我有 MySql 数据库,其中有一个包含列的表:
table_1 {
id (int),
parameter (varchar),
value (double)
}
现在参数可以有 2 个不同的值 - 步数和距离。
我还有一个映射表_2,它将表_1 中的步数映射到表_1 中的相应距离。
所以table_2只存储table_1的两个id,其模式是
table_2 {
table_1_steps_id (int),
table_1_distance_id(int)
}
在一个结果集中获取步数和相应距离的查询是什么?
最佳答案
获取步数和距离的快速方法如下:
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'
关于mysql自连接查询以及映射表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26025629/