MySQL 如何 select 用另一个查询的结果替换列?
MySQL how to select with replacement of column with result of another query?
所以,我有一个 db.measurements 看起来像这样
Date
Value
equipement_id
operator_id
20-03-12
0.45
1
1
20-03-15
0.36
2
1
20-03-19
0.39
1
3
20-04-02
0.37
1
2
还有一个 db.operators 和 db.equipements 看起来像这样
operator_id
operator_name
1
John
2
Mat
3
Brad
4
Alfred
equipement_id
equipement_model
1
Model-ABC
2
Model-XYZ
3
Model-SuperX
4
Model-Wifi
所以我需要查询 select 来自 db.measurements 的所有数据,但用各自的 name/model 替换设备和操作员的“id”。最好的方法是什么?
我可以 SELECT * FROM db.measurements;
但无法弄清楚如何在这种情况下使用 REPLACE,因为表格更长。
无法理解连接的工作原理。此查询无效,在 mysql workbench
上不返回任何内容
SELECT date, value, db.operators.operator_name as operator_name
FROM db.measurements
INNER JOIN db.operators ON db.operators.operator_id = operator_id;
谢谢
以同样的方式再次加入 db.equipements
。
SELECT m.date, m.value, o.operator_name, e.equipement_model
FROM db.measurements AS m
INNER JOIN db.operators AS o ON o.operator_id = m.operator_id
INNER JOIN db.equipements AS e ON e.equipement_id = m.equipement_id
所以,我有一个 db.measurements 看起来像这样
Date | Value | equipement_id | operator_id |
---|---|---|---|
20-03-12 | 0.45 | 1 | 1 |
20-03-15 | 0.36 | 2 | 1 |
20-03-19 | 0.39 | 1 | 3 |
20-04-02 | 0.37 | 1 | 2 |
还有一个 db.operators 和 db.equipements 看起来像这样
operator_id | operator_name |
---|---|
1 | John |
2 | Mat |
3 | Brad |
4 | Alfred |
equipement_id | equipement_model |
---|---|
1 | Model-ABC |
2 | Model-XYZ |
3 | Model-SuperX |
4 | Model-Wifi |
所以我需要查询 select 来自 db.measurements 的所有数据,但用各自的 name/model 替换设备和操作员的“id”。最好的方法是什么?
我可以 SELECT * FROM db.measurements;
但无法弄清楚如何在这种情况下使用 REPLACE,因为表格更长。
无法理解连接的工作原理。此查询无效,在 mysql workbench
上不返回任何内容SELECT date, value, db.operators.operator_name as operator_name
FROM db.measurements
INNER JOIN db.operators ON db.operators.operator_id = operator_id;
谢谢
以同样的方式再次加入 db.equipements
。
SELECT m.date, m.value, o.operator_name, e.equipement_model
FROM db.measurements AS m
INNER JOIN db.operators AS o ON o.operator_id = m.operator_id
INNER JOIN db.equipements AS e ON e.equipement_id = m.equipement_id