Anda cukup bergabung dengan tabel database yang berbeda. Anda perlu menentukan nama database di FROM
. Anda ayat. Untuk mempersingkat, tambahkan ALIAS
di atasnya,
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`
tetapi entah bagaimana, ada kemungkinan di mana-dalam username
tidak akan memiliki pesan. Dalam hal ini gunakan LEFT JOIN
jika Anda ingin tetap menampilkan semua catatan dba.Username
.
Membaca dari komentar Anda, tabel memiliki collation
yang berbeda . Cara mengatasinya adalah dengan menentukan COLLATE
pada pernyataan gabungan Anda,
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`
Anda dapat mengubah latin1_swedish_ci
untuk apa pun yang Anda inginkan.
Untuk info lebih lanjut tentang COLLATION, lihat daftar lengkap
Set Karakter dan Kumpulan di MySQL
Jika Anda memiliki hak istimewa yang cukup untuk ALTER
tabel, cukup gunakan sintaks ini untuk secara manual mengonversi dan mencocokkan susunannya,
ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin2 COLLATE 'latin2_general_ci';