我不太擅长在 mysql 中连接表,我还在学习中, 所以我想问一下,在连接两个表时....
我有两张 table 因此,对于第一个表,我想在第二个表中加入它的两列(id 和路径)。
但是在第二个表上没有列名 id 和 path,有一个列名 pathid & value。 pathid列的字段与id相同。
看起来像这样。
第一张 table
| id | path |
---------------------
| 1 | country/usa |
| 2 | country/jpn |
| 3 | country/kor |
第二张 table
| pathid | value |
-------------------
| 3 | 500 |
| 1 | 10000 |
| 2 | 2000 |
所以在第一个表上,它表示美国的 id 是 1,日本是 2,韩国是 3。 在 table 上它说 for pathid 没有。 3(这是韩国的 ID)值为 500 等等。
我希望它看起来像这样。因此,路径将在第二个表上加入其相应的值。我怎样才能在 mysql 上执行此操作?谢谢你
期望的结果
| id | path | value |
------------------------------
| 1 | country/usa | 10000 |
| 2 | country/jpn | 2000 |
| 3 | country/kor | 500 |
最佳答案
无论列名如何,只要数据类型匹配,您就可以对列进行联接。
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.
,只要第二个表没有同名的列,它就会工作。
关于mysql - 使用不同的列名连接 MySQL 中的两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18772252/