首頁  >  文章  >  資料庫  >  如何在不同列上兩次連接表以檢索相關資料?

如何在不同列上兩次連接表以檢索相關資料?

DDD
DDD原創
2024-10-24 14:16:02379瀏覽

How to Join a Table Twice on Different Columns to Retrieve Related Data?

在不同列上兩次連接同一個表

考慮一個場景,其中您有一個用戶表和一個投訴表。投訴表包含發起投訴的人和關閉投訴的人的使用者 ID。目標是編寫一個查詢來顯示這兩個人的使用者名稱。

最初,查詢可以檢索提出投訴的人的用戶名:

SELECT user.username, complaint.complaint_text
FROM complaint
LEFT JOIN user ON user.user_id=complaint.opened_by

但是,檢索關閉投訴的人的用戶名,您需要使用不同的列再次加入用戶表。這是使用以下查詢實現的:

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

在此查詢中:

  • 表 A 用於連接opened_by 列。
  • 表 B 是用來加入 Closed_by 欄位。

透過兩次加入使用者表,您可以檢索開啟和關閉投訴的人的使用者名稱,從而允許您顯示有關每個投訴的全面資訊。

以上是如何在不同列上兩次連接表以檢索相關資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn