Du kan helt enkelt gå med i tabellen för olika databaser. Du måste ange databasnamnet i din FROM
klausul. För att göra det kortare, lägg till ett ALIAS
på den,
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`
men på något sätt finns det möjligheter där ett username
finns kommer inte att ha meddelanden. Använd i det här fallet LEFT JOIN
om du fortfarande vill visa alla poster för dba.Username
.
Av dina kommentarer har tabellerna olika collation
. Arbetet med detta är att specificera COLLATE
på dina sammanfogade uttalanden,
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`
du kan ändra latin1_swedish_ci
till vad du vill.
För mer information om SAMLING, se den här fullständiga listan över
Teckenuppsättningar och sorteringar i MySQL
Om du har tillräckligt med behörighet att ALTER
tabellerna, använd helt enkelt den här syntaxen för att manuellt konvertera och matcha deras sammanställningar,
ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin2 COLLATE 'latin2_general_ci';