>  기사  >  데이터 베이스  >  사용자 ID 대신 사용자 이름을 표시하기 위해 서로 다른 열에서 테이블을 두 번 조인하는 방법은 무엇입니까?

사용자 ID 대신 사용자 이름을 표시하기 위해 서로 다른 열에서 테이블을 두 번 조인하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-24 18:21:02368검색

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

다른 열에서 동일한 테이블을 두 번 조인

질문:

사용자 및 불만 사항 이용자가 불만을 제기하고 해결할 수 있는 테이블을 마련하였습니다. 불만 사항 테이블에는 불만 제기자와 해결자의 user_id가 포함되어 있습니다. 목표는 user_ids 대신 두 당사자의 사용자 이름을 표시하는 쿼리를 작성하는 것입니다.

답변:

사용자 테이블을 서로 다른 열에서 두 번 조인하고 검색하려면 사용자 이름에 대해 다음 쿼리를 사용할 수 있습니다.

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

이 쿼리에서:

  • LEFT JOIN 절은 사용자 테이블과 불만 사항 테이블을 두 번 조인하는 데 사용됩니다.
  • 신고인의 사용자 이름을 참조하는 별칭 A가 첫 번째 가입에 사용됩니다.
  • 신고인의 사용자 이름을 참조하는 별칭 B가 두 번째 가입에 사용됩니다.
  • 사용자 테이블 관련 사용자 이름을 검색하여 Open_by 및 Closed_by 열을 기반으로 불만 사항 테이블에 조인됩니다.

위 내용은 사용자 ID 대신 사용자 이름을 표시하기 위해 서로 다른 열에서 테이블을 두 번 조인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.