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';