Bagaimana untuk Menyertai Jadual Yang Sama Berbilang Kali pada Lajur Berbeza dengan Cekap untuk Mendapatkan Maklumat Pengguna?

Linda Hamilton
Lepaskan: 2024-10-24 10:36:30
asal
325 orang telah melayarinya

How to Efficiently Join the Same Table Multiple Times on Different Columns for User Information Retrieval?

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
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!