1

我不太擅长在mysql中加入表,我还在学习,所以我想问一下,当加入两个表时......

我有 2 个表所以对于第一个表,我想在第二个表上加入它的 2 个列(id 和路径)。

但是在第二个表上没有列名 id 和路径,有一个列名 pathid & value。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。在表上它说 pathid 没有。3(这是韩国的 id)值为 500,以此类推。

我希望它看起来像这样。因此,路径将在其对应值上连接到第二个表上。我怎样才能在mysql上做到这一点?谢谢你

期望的结果

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

1 回答 1

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

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

于 2013-09-12T19:01:55.257 回答