안녕하세요 아무리 생각을해봐도 답이 나오지 않아 여기에 질문합니다.
사원리스트 테이블
담당자 |
A1 |
A2 |
A3 |
A4 |
A5 |
고객정보 테이블
고객명 |
이말년 |
귀귀 |
이명헌 |
등등... |
아래처럼 조인해서 고객리스트에 순차적으로 사원을 분배해주고 싶은데 답이 안나오네요 ㅠㅠ
분배 결과
고객명 | 담당사원 |
이말년 | A1 |
귀귀 | A2 |
이병헌 | A3 |
김소현 | A4 |
김유정 | A5 |
쯔위 | A1 |
신사임당 | A2 |
허균 | A3 |
이완용 | A4 |
안중근 | A5 |
홍길동 | A1 |
이순신 | A2 |
Comment 7
-
초짜해커
2016.09.23 11:24
-
사야카
2016.09.23 11:33
사원정보는 순위를 매기고,
순위
담당
1
A1
2
A2
3
A3
4
A4
고객정보 순위를 넣으면 아래와 같이 되는데... 혹시 연산할 수 있는 방법이 있는지요?
순위
고객
1
고객1
2
고객2
3
고객3
4
고객4
5
고객5
6
고객6
7
고객7
8
고객8
혹 이렇게 순위를 매기는 방법도 있나요?
순위
고객
1
고객1
2
고객2
3
고객3
4
고객4
1
고객5
2
고객6
3
고객7
4
고객8
-
이리
2016.09.23 11:56
고객 1,2,3,4
고객 5,6,7,8
따로 구분값이 있으면 ROW_NUMBER() OVER(PARTITION BY ....) 를 이용하시면 됩니다.
-
사야카
2016.09.23 12:22
구분값이 있으면 ROW_NUMBER() OVER(PARTITION BY 를 사용하려고 했는데
없어서요... 좀더 고민을 해봐야겠네요 ㅠㅠ
-
이리
2016.09.23 13:25
4개씩 값을 구분한다는 기준이라도 있으면 될거 같은데요
그런게 없다면 어려울거 같습니다.
-
초짜해커
2016.09.23 18:13
;WITH 사원 (사원명) AS(SELECT 'A1'UNION SELECT 'A2'UNION SELECT 'A3'UNION SELECT 'A4'UNION SELECT 'A5'), 고객 (고객명) AS(SELECT '귀귀'UNION SELECT '김소현'UNION SELECT '김유정'UNION SELECT '신사임당'UNION SELECT '안중근'UNION SELECT '이말년'UNION SELECT '이병헌'UNION SELECT '이순신'UNION SELECT '이완용'UNION SELECT '쯔위'UNION SELECT '허균'UNION SELECT '홍길동')SELECT A.사원명, B.고객명FROM (SELECT 사원명, 순위 = ROW_NUMBER() OVER (ORDER BY 사원명) FROM 사원) AINNER JOIN (SELECT 고객명, 순위 = ROW_NUMBER() OVER (ORDER BY 고객명) FROM 고객) B ON (A.순위 - 1) = (B.순위 - 1) % 5 -
사야카
2016.10.01 16:27
뒤늦게 확인했습니다.
정말 감사합니다.
사원, 고객 둘다 순위를 매긴다음 나머지 연산자로 조인하면 되겠네요.