Sie können einfach der Tabelle verschiedener Datenbanken beitreten. Sie müssen den Datenbanknamen in Ihrem FROM angeben Klausel. Um es zu verkürzen, fügen Sie einen ALIAS hinzu drauf,
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`
aber irgendwie gibt es Möglichkeiten, in denen ein username enthalten ist wird keine Nachrichten haben. Verwenden Sie in diesem Fall LEFT JOIN wenn Sie trotzdem alle Datensätze von dba.Username anzeigen möchten .
Wenn Sie Ihren Kommentaren entnehmen, haben die Tabellen unterschiedliche collation . Um dies zu umgehen, geben Sie COLLATE an auf Ihren verbundenen Kontoauszügen,
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`
Sie können latin1_swedish_ci ändern zu was auch immer Sie wollen.
Weitere Informationen zu COLLATION finden Sie in dieser vollständigen Liste von
Zeichensätze und Sortierungen in MySQL
Wenn Sie über ausreichende Berechtigungen zum ALTER verfügen die Tabellen, verwenden Sie einfach diese Syntax, um ihre Sortierungen manuell zu konvertieren und abzugleichen,
ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin2 COLLATE 'latin2_general_ci';