Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como selecionar campos de diferentes db's com a mesma tabela e nome de campo


Você pode prefixar os nomes das tabelas com o nome do banco de dados para identificar as duas tabelas com nomes semelhantes. Você pode usar esse nome de tabela totalmente qualificado para fazer referência aos campos com nomes semelhantes.

Então, sem apelidos:
select db1.table1.id, db1.table1.value1, db2.table1.value1
from db1.table1 inner join db2.table1 on db1.table1.id = db2.table1.id

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

Você também pode querer criar um alias para as colunas selecionadas para que sua linha de seleção se torne:
select t1.id as id, t1.value1 as value_from_db1, t2.value1 as value_from_db2