집 >데이터 베이스 >MySQL 튜토리얼 >중복 레코드를 피하기 위해 MySQL에서 4개의 테이블을 효율적으로 조인하는 방법은 무엇입니까?
INNER JOIN을 사용하여 MySQL에서 여러 테이블 조인
MySQL과 같은 관계형 데이터베이스로 작업할 때 테이블을 조인하면 여러 테이블에서 데이터를 검색할 수 있습니다. 공통 열을 기반으로 하는 테이블. 이 튜토리얼은 주문, 제품_가격, 제품의 세 가지 테이블을 조인하는 과정을 안내합니다.
문제 설명
특정 사용자와 관련된 제품을 검색하고 각 제품에 대한 하이퍼링크인 네 번째 테이블인 목록을 결합해야 합니다. 그러나 현재 쿼리는 목록 테이블에서 중복된 레코드를 반환합니다.
해결 방법
이 문제를 해결하려면 다음과 같이 쿼리를 수정하세요.
SELECT p.id, p.name, l.url, o.user_id, o.pricing_id FROM orders AS o INNER JOIN products_pricing AS pp ON o.pricing_id = pp.id INNER JOIN products AS p ON pp.product_id = p.id INNER JOIN listings AS l ON l.user_id = o.user_id WHERE o.user_id ='7' AND l.id = 233 AND l.url = 'test.com';
설명:
출력
제공된 샘플 데이터의 경우 업데이트된 쿼리 반품:
| 33 | 테스트 제품 | test.com | 7 | 37 |
이 출력에는 사용자 ID 7을 가진 특정 사용자의 제품 ID, 이름, 목록 URL, 사용자 ID 및 가격 책정 ID가 포함됩니다.
위 내용은 중복 레코드를 피하기 위해 MySQL에서 4개의 테이블을 효율적으로 조인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!