Můžete se jednoduše připojit k tabulce jiné databáze. Musíte zadat název databáze v FROM
doložka. Chcete-li to zkrátit, přidejte ALIAS
na to,
SELECT a.*, -- this will display all columns of dba.`UserName`
b.`Message`
FROM dba.`UserName` a -- or LEFT JOIN to show all rows whether it exists or not
INNER JOIN dbB.`PrivateMessage` b
ON a.`username` = b.`username`
ale jak, tam jsou možnosti, kde-v username
nebude mít zprávy. V tomto případě použijte LEFT JOIN
pokud chcete stále zobrazovat všechny záznamy dba.Username
.
Z vašich komentářů vyplývá, že tabulky mají různé collation
. Řešením je zadat COLLATE
na vašich spojených prohlášeních,
SELECT a.*, -- this will display all columns of dba.`UserName`
b.`Message`
FROM dba.`UserName` COLLATE latin1_swedish_ci a
LEFT JOIN dbB.`PrivateMessage` COLLATE latin1_swedish_ci b
ON a.`username` = b.`username`
můžete změnit latin1_swedish_ci
na cokoli chcete.
Další informace o COLLATION naleznete v tomto úplném seznamu
Pokud máte dostatečné oprávnění ALTER
tabulky, jednoduše použijte tuto syntaxi k ručnímu převodu a spárování jejich porovnávání
ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin2 COLLATE 'latin2_general_ci';