使用JOIN从2个表映射

时间:2016-12-09 11:43:47

标签: mysql sql

我有这2个mysql表,我想输出第3个。

table_names:

eid  name
100   car1
101   car2
102   car3

table_fuel:

mid fuel 
100  30
100  40
101  50
100  60
102  70

输出:

name  fuel
car1  30
car1  40
car2  50
car1  60
car3  70

我想要的是e.id和m.id之间的映射,以便显示汽车的名称而不是ID,我试过的是:

SELECT n.name
     , f.fuel 
  FROM table_fuel f
 RIGHT 
  JOIN table_names n
    ON n.eid = f.mid

但是我得到错误:令牌不匹配。谢谢你的时间。

4 个答案:

答案 0 :(得分:0)

表格之间需要一个简单的JOIN,如

SELECT table_names.name, 
table_fuel.fuel 
FROM table_fuel 
JOIN table_names 
ON table_names.eid = table_fuel.mid;

答案 1 :(得分:0)

我会使用简单的LEFT JOIN:

SELECT n.name, f.fuel
FROM table_names n
LEFT JOIN table_fuel f ON n.eid = f.mid;

使用别名比使用完整的表名要短得多。

答案 2 :(得分:0)

只需将您的table_fuel放在左边,即可创建连接语句:

SELECT a.Name, b.Fuel
FROM table_fuel b
LEFT JOIN table_names a
ON a.eid = b.mid;

答案 3 :(得分:0)

首先解决令牌错误找到XAMPP php.ini文件并通过删除分号取消注释:

     session.save_path ="/tmp"

然后重启apache。

然后检查您的查询。

            SELECT n.name
            , f.fuel 
              FROM table_fuel f 
              JOIN table_name n
            ON n.eid = f.mid;

点击Demo