MySQL JOIN只从第二个表中选择一行

时间:2014-12-15 17:21:54

标签: mysql

我有一个MySQL查询

SELECT SensorName FROM Table1 WHERE Name = 'MyName';

让我们说,我得到5行

 Sensor1,
 Sensor2,
 Sensor3,
 Sensor4,
 Sensor5

现在在另一个表中,我有一行数据,这是查询

SELECT value1, value2, value3, value4, value5 from Table2 Where Name = 'MyName';

这就是我回来的。

value1      value2       value3     value        value5
23.1669     14.5974     22.4009     19.9076     33.1585

"名称"是两个表格中的共同字段

现在我知道这两个是映射的(传感器名称是用值映射的),所以如何在单个MySQL查询中得到类似的内容

  NAME          VALUE
Sensor1         23.1669 
Sensor2         14.5974
Sensor3         22.4009 
Sensor4         19.9076
Sensor5         33.1585

2 个答案:

答案 0 :(得分:1)

SELECT SensorName, Value 
FROM Table1 
LEFT JOIN Table2
ON Table1.Name = Table2.Name AND Table1.Name = "MyName"

SELECT SensorName, Value 
FROM Table1 
LEFT JOIN Table2
ON Table1.Name = Table2.Name 
WHERE Table1.Name = "MyName"

将返回所有匹配的匹配项。您必须将Table2结构更改为2个字段(名称和值)。

答案 1 :(得分:0)

使用此: 选择表2中的t1.SensorName,t2.value1,t2.value2,t2.value3,t2.value4,t2.value5作为t2 INNER JOIN table1 as t1 on table1.NAME = table2.NAME&& Tttable1.NAME ='MYNAME'&& table2.NAME = 'MYNAME'