Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyertai Jadual Dua Kali pada Lajur Berbeza untuk Mendapatkan Data Berkaitan?
Menyertai Jadual Yang Sama Dua Kali pada Lajur Berbeza
Pertimbangkan senario di mana anda mempunyai jadual pengguna dan jadual aduan. Jadual aduan mengandungi ID pengguna kedua-dua orang yang membuka aduan dan orang yang menutupnya. Matlamatnya adalah untuk menulis pertanyaan yang memaparkan nama pengguna untuk kedua-dua individu ini.
Pada mulanya, pertanyaan boleh mendapatkan semula nama pengguna untuk orang yang membuka aduan:
SELECT user.username, complaint.complaint_text FROM complaint LEFT JOIN user ON user.user_id=complaint.opened_by
Walau bagaimanapun, untuk mendapatkan semula nama pengguna untuk orang yang menutup aduan, anda perlu menyertai jadual pengguna sekali lagi menggunakan lajur yang berbeza. Ini dicapai menggunakan pertanyaan berikut:
SELECT complaint.complaint_text, A.username, B.username FROM complaint LEFT JOIN user A ON A.user_id=complaint.opened_by LEFT JOIN user B ON B.user_id=complaint.closed_by
Dalam pertanyaan ini:
Dengan menyertai jadual pengguna dua kali, anda boleh mendapatkan semula nama pengguna untuk kedua-dua orang yang membuka dan menutup aduan, membolehkan anda memaparkan maklumat menyeluruh tentang setiap aduan.
Atas ialah kandungan terperinci Bagaimana untuk Menyertai Jadual Dua Kali pada Lajur Berbeza untuk Mendapatkan Data Berkaitan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!