Menyertai Jadual Yang Sama Dua Kali pada Lajur Berbeza untuk Mendapatkan Maklumat Pengguna Serbaguna
Pertanyaan ini bertujuan untuk mendapatkan nama pengguna untuk kedua-dua lajur open_by dan closed_by dalam jadual aduan, di mana pengguna disimpan dalam jadual pengguna. Cabarannya terletak pada menyertai jadual pengguna berbilang kali menggunakan lajur yang berbeza.
Untuk menyelesaikan tugasan ini, kami menggunakan operasi LEFT JOIN untuk setiap contoh jadual pengguna, menyalakan jadual bercantum sebagai A dan B untuk kejelasan. Pertanyaan diteruskan seperti 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, kami mulakan dengan memilih lajur complaint_text daripada jadual aduan dan nama pengguna daripada jadual pengguna untuk kedua-dua lajur open_by dan closed_by.
Kami kemudian menyertai jadual aduan dengan jadual pengguna berdasarkan lajur dibuka_oleh menggunakan LEFT JOIN. Ini membolehkan kami memadankan user_id daripada complaint.opened_by kepada user_id dalam jadual pengguna dan mendapatkan semula nama pengguna yang sepadan. Kami alias jadual yang dicantumkan sebagai A.
Seterusnya, kami melakukan satu lagi operasi LEFT JOIN antara jadual aduan dan jadual pengguna berdasarkan lajur closed_by. Kami menyamakan jadual yang digabungkan ini sebagai B.
Hasil pertanyaan ini memberikan pandangan yang jelas tentang butiran aduan, bersama-sama dengan nama pengguna kedua-dua pengadu dan lajur Oleh yang diselesaikan.
Atas ialah kandungan terperinci Bagaimana untuk Menyertai Jadual Yang Sama Berbilang Kali pada Lajur Berbeza dengan Cekap untuk Mendapatkan Maklumat Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!