Warning: Undefined array key "mobile_dir" in /home/kagla/new-sir/old/common.php on line 315
릴레이션 테이블 사이에 DB SELECT 문의 있습니다!

릴레이션 테이블 사이에 DB SELECT 문의 있습니다!

릴레이션 테이블 사이에 DB SELECT 문의 있습니다!

QA

릴레이션 테이블 사이에 DB SELECT 문의 있습니다!

답변 1

본문

 

product

id product_item
1 2
2 3

 

product_item_map

id product_id item_id
1 1 1
2 1 3
3 1 4
4 2 2
5 2 5
6 2 1

 

 

item

id name
1 타이어
2 엔진
3 백미러
4
5 손잡이

 

 

 

product_item_map 이라는 릴레이션 테이블을 두고

product(MANY) <> item(MANY) 관계에 있습니다.

 

일단 제가 하고 싶은것은

 

p.id i.name
1 타이어,백미러,문
2 타이어,엔진,손잡이
   
   

 

이렇게 출력을 하고 싶습니다 ㅠ,ㅠ

 


SELECT i.name FROM product AS p
LEFT JOIN product_item_map AS pim
ON (pim.product_id = p.id)
LEFT JOIN item AS i
ON (pim.item_id = i.id)
WHERE p.id = 1

 

당연히 LETF JOIN시 중복 열이 나오겠죠 ㅠ,ㅠ

 

혹시 가능한 방법이 있나요?

이 질문에 댓글 쓰기 :

답변 1

SELECT product_id, GROUP_CONCAT(i.name)

FROM product_item_map AS pim

left join item as i on (pim.item_id=i.id)

GROUP BY product_id;

 

이렇게 하면 될 것 같은데 실제론 안해봤어요...ㅎㅎ

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,406
© SIRSOFT
현재 페이지 제일 처음으로