使用diff列名在MySQL中连接两个表

时间:2013-09-12 18:56:01

标签: mysql jointable

我不太擅长加入mysql中的表,我还在学习, 所以我想在加入两张桌子时问...

我有2张桌子 所以对于第一个表我想加入第二个表中的2个列(id& path)。

但是在第二个表上没有列名id和路径,列名为pathid&值。 pathid列的字段与id。

相同 它看起来像这样。

第一张表

| id | path        | 
---------------------
|  1 | country/usa |     
|  2 | country/jpn |    
|  3 | country/kor |

第二张表

| pathid | value  |
-------------------
|  3     | 500    |    
|  1     | 10000  |    
|  2     | 2000   |

所以在第一张表中,它表​​示对于美国,id为1,日本为2,韩国为3。 在桌子上它表示对于路径没有。 3(这是韩国的id)值是500,依此类推。

我希望它看起来像这样。那么路径将在第二个表上连接其相应的值。我怎么能在mysql上做到这一点?谢谢

期望的结果

| id | path         | value  |
------------------------------
|  1 | country/usa  | 10000  |    
|  2 | country/jpn  | 2000   |    
|  3 | country/kor  | 500    |

1 个答案:

答案 0 :(得分:4)

只要数据类型匹配,您就可以加入列而不管列名。

SELECT id, path, value
FROM firstTable, secondTable
WHERE id = pathid

如果两个表上都有相同的列名,则需要使用别名限定名称。假设id的列名在两个表上都相同,那么无论何时使用id,都应该提到您要引用的表。另外,它会抱怨模棱两可。

SELECT s.id, path, value
FROM firstTable f, secondTable s
WHERE f.id = s.pathid

请注意,我在select中的其他列上省略了s.,只要第二个表没有具有相同名称的列,它就会起作用。