我不太擅长加入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 |
答案 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.
,只要第二个表没有具有相同名称的列,它就会起作用。