Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyertai Jadual Dua Kali pada Lajur Berbeza untuk Memaparkan Nama Pengguna Daripada ID Pengguna?

Bagaimana untuk Menyertai Jadual Dua Kali pada Lajur Berbeza untuk Memaparkan Nama Pengguna Daripada ID Pengguna?

Linda Hamilton
Lepaskan: 2024-10-24 18:21:02
asal
488 orang telah melayarinya

How to Join a Table Twice on Different Columns to Display Usernames Instead of User IDs?

Menyertai Jadual Yang Sama Dua Kali pada Lajur Berbeza

Soalan:

Seorang pengguna dan aduan jadual diwujudkan, di mana pengguna boleh mengemukakan dan menyelesaikan aduan. Jadual aduan termasuk user_id kedua-dua pengadu dan penyelesai. Matlamatnya adalah untuk menulis pertanyaan yang memaparkan nama pengguna kedua-dua pihak dan bukannya user_id mereka.

Jawapan:

Untuk menyertai jadual pengguna dua kali pada lajur berbeza dan dapatkan semula nama pengguna, pertanyaan berikut boleh digunakan:

SELECT 
     complaint.complaint_text, 
     A.username AS OpenedBy, 
     B.username AS ClosedBy
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:

  • Klausa LEFT JOIN digunakan untuk menyertai jadual aduan dengan jadual pengguna dua kali.
  • Alias ​​A digunakan untuk penyertaan pertama, merujuk nama pengguna pengadu.
  • Alias ​​B digunakan untuk penyertaan kedua, merujuk nama pengguna penyelesai aduan.
  • Jadual pengguna digabungkan dengan jadual aduan berdasarkan lajur yang dibuka oleh dan ditutup oleh, mendapatkan semula nama pengguna yang berkaitan.

Atas ialah kandungan terperinci Bagaimana untuk Menyertai Jadual Dua Kali pada Lajur Berbeza untuk Memaparkan Nama Pengguna Daripada ID 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