En MySQL, j'ai deux bases de données différentes - l'appel de laissez - les A et B .
Est-il possible d'effectuer une jointure entre une table qui se trouve dans la base de données A et une table qui se trouve dans la base de données B ?
En MySQL, j'ai deux bases de données différentes - l'appel de laissez - les A et B .
Est-il possible d'effectuer une jointure entre une table qui se trouve dans la base de données A et une table qui se trouve dans la base de données B ?
Réponses:
Oui, en supposant que le compte dispose des autorisations appropriées, vous pouvez utiliser:
SELECT <...>
FROM A.table1 t1 JOIN B.table2 t2 ON t2.column2 = t1.column1;
Il vous suffit de préfixer la référence de table avec le nom de la base de données dans laquelle elle réside.
ERROR 1146 (42S02): Table 'currentdb.otherdb.tablename' doesn't exist
FROM A.table1 JOIN B.table2 ON B.table2 .column2 = A.table1.column1
SELECT *
FROM A.tableA JOIN B.tableB
ou
SELECT *
FROM A.tableA JOIN B.tableB
ON A.tableA.id = B.tableB.a_id;
SELECT <...>
FROM A.table1 t1 JOIN B.table2 t2 ON t2.column2 = t1.column1;
Assurez-vous simplement que dans la ligne SELECT vous spécifiez les colonnes de table que vous utilisez, soit par référence complète, soit par alias. L'un des éléments suivants fonctionnera:
SELECT *
SELECT t1.*,t2.column2
SELECT A.table1.column1, t2.*
etc.