>  기사  >  데이터 베이스  >  관련 데이터를 검색하기 위해 서로 다른 열에서 테이블을 두 번 조인하는 방법은 무엇입니까?

관련 데이터를 검색하기 위해 서로 다른 열에서 테이블을 두 번 조인하는 방법은 무엇입니까?

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는 Open_by 열에 조인하는 데 사용됩니다.
  • 테이블 B는 close_by 열에 조인하는 데 사용됩니다.

사용자 테이블에 두 번 조인하면 불만 사항을 개설한 사람과 마감한 사람 모두의 사용자 이름을 검색할 수 있으므로 각 불만 사항에 대한 포괄적인 정보를 표시할 수 있습니다.

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

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