sql - 如何从具有相同表和字段名称的不同数据库中选择字段

标签 sql mysql

我有两个数据库,为了便于讨论,我们称它们为 db1 和 db2。它们的结构完全相同,并且都有一个名为 table1 的表,其中都有字段 id 和 value1。

我的问题是如何进行查询,为由相同 ID 链接的两个表选择字段 value1???

最佳答案

您可以在表名前加上数据库名,以识别两个名称相似的表。然后,您可以使用该完全限定的表名来引用类似命名的字段。

所以,没有别名:

select db1.table1.id, db1.table1.value1, db2.table1.value1
from db1.table1 inner join db2.table1 on db1.table1.id = db2.table1.id

还有别名

select t1.id, t1.value1, t2.value1
from db1.table1 as t1 inner join db2.table1 as t2 on t1.id = t2.id

您可能还想为所选列设置别名,以便您的选择行变为:

select t1.id as id, t1.value1 as value_from_db1, t2.value1 as value_from_db2

关于sql - 如何从具有相同表和字段名称的不同数据库中选择字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3686014/

相关文章:

mysql - 如何根据起始点显示特定行数

java - Oracle SQL 错误 ORA-00933

mysql - 如何从SQL表中获取不存在的记录?

MySQL (ClearDB) 不适用于 Heroku

php - 当有多少表时如何选择查询

mysql - SQL 查询 - 按日期排序但也按组排序

PHP/MySQL - 每周更新 7000 万行

python - sqlalchemy 随 executemany 从版本 0.5 到 0.7 发生变化

php - 当参数为空时如何从数据库中获取所有数据

php - Slim micro framework,为什么我无法将记录插入数据库?