Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment sélectionner des champs de différentes bases de données avec la même table et le même nom de champ

Vous pouvez préfixer les noms de table avec le nom de la base de données pour identifier les deux tables portant le même nom. Vous pouvez ensuite utiliser ce nom de table complet pour faire référence aux champs portant le même nom.

Donc, sans alias :

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

et avec des alias

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

Vous pouvez également créer un alias pour les colonnes sélectionnées afin que votre ligne de sélection devienne :

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