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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
릴레이션 테이블 사이에 DB SELECT 문의 있습니다!

QA

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

본문

 

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;

 

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

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT