U kunt eenvoudig deelnemen aan de tabel van verschillende databases. U moet de databasenaam opgeven in uw FROM
clausule. Voeg een ALIAS
. toe om het korter te maken erop,
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`
maar op de een of andere manier zijn er mogelijkheden waar-in een username
zal geen berichten hebben. Gebruik in dit geval LEFT JOIN
als u toch alle records van dba.Username
. wilt tonen .
Uit uw opmerkingen te lezen, hebben de tabellen verschillende collation
. U kunt dit omzeilen door COLLATE
op te geven op uw samengevoegde verklaringen,
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`
je kunt latin1_swedish_ci
change wijzigen naar wat je maar wilt.
Voor meer informatie over COLLATION, zie deze volledige lijst van
Tekensets en verzamelingen in MySQL
Als je genoeg privileges hebt om ALTER
de tabellen, gebruik gewoon deze syntaxis om hun sorteringen handmatig te converteren en te matchen,
ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin2 COLLATE 'latin2_general_ci';