안녕하세요..
질문 제목부터 뭐라 해야 할지 모르겠네요 ^^;;
우선 풀어 보겠습니다.
ProductSeq | Name | Price |
1 | 주전자 | 5000 |
2 | 냄비 | 1000 |
이렇게 생긴 기존 테이블이 있고..
관계된 테이블이..
ProductSeq | Option | Price |
1 | 옵션1 | 100 |
1 | 옵션2 | 200 |
1 | 옵션3 | 200 |
2 | 옵션1 | 200 |
2 | 옵션2 | 200 |
2 | 옵션3 | 200 |
2 | 옵션4 | 200 |
2 | 옵션5 | 200 |
이렇게 있다고 가정하면..
제가 뽑아 내고 싶은 결과는
1.Priduct
2.Product_Option
이랗고 하면
ProductSeq | Name | Price | Option1 | Option1Price | Option2 | Option2Price | ... | ... | ... |
1 | 주전자 | 5000 | 옵션1 | 100 | 옵션2 | 200 | |||
2 | 냄비 | 1000 | 옵션1 | 200 | 옵션2 | 200 |
|
이런식의 결과를 뽑아 내고 싶은데
가능한 방법이 있는지요?
Option의 Row수는 예처럼 가변적일 경우와 딱 갯수가 정해져 있을 경우..둘다 가능한지요?
전 그냥 여태 저렇게 뽑아낼 재주가 없어서..
그냥 하나의 컬럼에 옵션1//100; 이런값을 줘서 프로그램단에서 쪼개서 썼는데..
보통의 경우에는 어떻게 처리하시는지..
방법이 있는건지 궁금합니다.
그리고 한가지 더 질문 드리면..
테이블 1개에 컬럼이 100개가 있는게 덜 무식한건지..
테이블 10개를 조인해서 컬럼 100개를 가져오는게 덜 무식한건지..
궁금도 합니다.
질문이 참 거시기한건 알고 있습니다만..현답을 기다립니다..^^
Comment 1
-
불타는불쥐[김경진]
2013.02.26 15:35
Product_Option SQL 2005 부터 지원 하는 피벗을 사용하거나 GROUP BY 절 CASE 를 사용하여
옵션 테이블의 데이터를 피벗팅 하시고 Product 테이블과 조인 하시면 해결 되실듯 합니다.
http://www.sqler.com/133535 참고 하세요.