2016-09-01 2 views
1

나는 1 개 등, 스폰서와 그들이 추천하는 제품의 제품 ID의 이름을 참조하는 테이블이있는 경우 :여러 MySQL의 테이블에 조인

-------------------------------- 
|Name |Product ID 1|Product ID 2| 
-------------------------------- 
|Jon |  1  |  3  | 
|Sally|  1  |  2  | 
-------------------------------- 

그리고 제품이 나열되어 다른 테이블 :

---------------------------------------- 
|Product ID |Product Name|Product Price| 
---------------------------------------- 
|  1  | Prod 1 | 25  | 
|  2  | Prod 2 | 35  | 
|  3  | Prod 3 | 45  | 
---------------------------------------- 

스폰서 이름과 권장 제품 이름 및 제품 가격을 함께 표시하려면 어떻게 가입해야합니까? INNER JOINLEFT JOIN은 제품 중 하나를 통해서만 보이지만 전부는 아닙니다.

+1

가능한 중복 : http://stackoverflow.com/questions/3709560/mysql-join-three-tables –

+1

@TowfikAlrazihi 그는 단지 2 개 테이블이 아닌 3 개 테이블을 조인합니다. – Barmar

+0

Answer : http : //www.yourwebskills.com/mysqljoin2.php –

답변

1

두 번 가입하십시오.

SELECT s.name, p1.ProductName AS product_1_name, p1.ProductPrice AS product_1_price, p2.ProductName AS product_2_name, p2.ProductPrice AS product_2_price 
FROM sponsers AS s 
JOIN products AS p1 ON s.ProductID1 = p1.ProductID 
JOIN products AS p2 ON s.ProductID2 = p2.ProductID 
+0

여기서'product_1_name'과'product_2_name' 요소는 어디에 있습니까? – Ryan

+0

결과 열에 대한 별칭이므로 권장하는 두 제품에 모두 액세스 할 수 있습니다. – Barmar

+0

왜'스폰서'테이블에 추천 제품에 대해 여러 개의 열이 있습니까? 2 개 이상의 제품을 추천하고 싶다면 어떻게됩니까? 그들이 권장하는 제품별로 줄을 세우는 것이 낫지 않을까요? – Barmar

관련 문제