在不同列上兩次加入同一個表以進行多功能用戶資訊檢索
此查詢旨在檢索open_by和close_by列的使用者名稱在投訴表中,其中使用者儲存在使用者表中。挑戰在於使用不同的欄位多次連接使用者表。
為了完成此任務,我們對用戶表的每個實例採用 LEFT JOIN 操作,為了清楚起見,將連接表別名為 A 和 B。查詢流程如下:
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
在此查詢中,我們先從投訴表中選擇complaint_text列,並從user表中選擇open_by和close_by列的使用者名稱。
然後,我們使用 LEFT JOIN 根據opened_by 欄位將投訴表與使用者表連接。這允許我們將complaint.opened_by中的user_id與用戶表中的user_id進行匹配並檢索相應的用戶名。我們將連接表別名為 A。
接下來,我們根據 Closed_by 列在投訴表和使用者表之間執行另一個 LEFT JOIN 操作。我們將此連接表別名為 B。
此查詢的結果提供了投訴詳細資訊的清晰視圖,以及投訴人和已解決者列的使用者名稱。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3