2014-02-16 2 views
-1

표 1SQL 조인 쿼리 출력

userid(PK)    
name     
age 

표 2

jobid(PK) 
jobname 

표 3 :

userid(FK) 
jobid(FK) 

은 위 ERD이다. 표 1에 1 행이 있다고 말하십시오.

1 - 피터 - 40

및 표 2에 나는 2 개 행이 있습니다

1 - 목수

2 - 목자

3 표를 둘 다의 "교차점", 일대 다 관계를 포함합니다.

피터에는 2 개의 작업이 있으므로 다음과 같은 행이 있습니다.

1-1

1-2

어떻게 하나에 2 행 병합까요?

이름 : 피터

나이 : 40

직업 : 목수, 목자 GROUP BY

답변

1

사용 GROUP_CONCAT :

I, 그것은으로 표시됩니다 경우
SELECT t1.name 
     ,t1.age 
     ,GROUP_CONCAT(t2.jobname SEPARATOR ',') 
FROM Table1 as t1 
JOIN Table3 as t3 ON t3.userid = t1.id 
JOIN Table2 as t2 ON t2.jobid = t3.jobid 
GROUP BY t1.id 
+0

부탁을 들어 주시면 어떻게 든 CI 수사식으로 번역 할 수 있습니까? 에리. – user3205047

+0

@ user3205047 이것은 다른 질문이며 사용자가 직접 할 수 있다고 생각합니다. http://ellislab.com/codeigniter/user-guide/database/examples.html – sashkello

+0

Thnx, 방금 전에 변환했습니다. 문법이 잘못 되었다면 안심할 수 있도록 물어 보았고 즉시 알 수있었습니다. 그래도 고마워! 당신의 대답은 – user3205047