2017-12-11 7 views
-1

나는 4 개 테이블이 :MySQL의 여러 테이블 중에서 선택 하시겠습니까? 그룹별로?

나는 COMPANY_ID이 company_id.reseller_match 및 reseller.reseller_match 일치하는 경우 제품의 *를 선택해야
1- resellers [id, name, etc..] 
2- resellers_match [id, reseller_id, company_id] 
3- companies [id, name, etc..] 
4- products [id, name, company_id, etc..] 

= X;

내가 어떻게 할 수 있는지 알 수 없다. 고맙습니다.

+0

이는 정상 결합입니다. 막혔다면 그냥 가서 쿼리를 게시하십시오. –

+0

@juergend가 맞습니까? 제품으로 p.name을 선택하고 리셀러로 r.name을 에서 리셀러에게 INNER JOIN 회사 소개 c.id = p.company_id INNER JOIN 리셀러 _ 일치 rm ON c.company_id = rm p.name에 의해 ORDER를 .reseller_id; – igtoth

답변

1
SELECT p.name as Product, c.name as Company, r.name as Reseller 
FROM products p 
INNER JOIN companies c ON c.id = p.company_id 
INNER JOIN resellers_match rm ON c.id = rm.reseller_id 
INNER JOIN reseller r ON rm.reseller_id = r.id 
ORDER BY p.name 
+0

오류 1054 (42S22) : 'on clause'의 알 수없는 'c.company_id'열 – igtoth

+0

수정했습니다. 'c.company_id' 대신'c.id'입니다. 어서. 당신은 혼자서 그것을 발견 할 수있었습니다. –