WITH source (seq, pid, id, age, country, sex, qty) as
(
SELECT 1, '-1', 'TOP', '', '', '', 0 from dual UNION ALL
SELECT 2, 'TOP', 'A', '', '', '', 0 from dual UNION ALL
SELECT 3, 'A', 'B', '20', 'FRANCE', 'M', 2 from dual UNION ALL
SELECT 4, 'A', 'C', '15', 'ITALY', 'F', 2 from dual UNION ALL
SELECT 5, 'A', 'C', '15', 'ITALY', 'F', 3 from dual UNION ALL
SELECT 6, 'A', 'C', '15', 'ITALY', 'F', 1 from dual UNION ALL
SELECT 7, 'A', 'D', '30', 'ENGLAND', 'F', 4 from dual UNION ALL
SELECT 8, 'TOP', 'E', '', '', '', 0 from dual UNION ALL
SELECT 9, 'E', 'F', '45', 'ITALY', 'F', 3 from dual UNION ALL
SELECT 10, 'E', 'G', '10', 'HONGKONG','F', 2 from dual UNION ALL
SELECT 11, 'E', 'H', '25', 'JAPAN', 'M', 2 from dual UNION ALL
SELECT 12, 'E', 'H', '25', 'JAPAN', 'M', 3 from dual UNION ALL
SELECT 13, 'E', 'H', '25', 'JAPAN', 'M', 1 from dual UNION ALL
SELECT 14, 'E', 'H', '25', 'ENGLAND', 'F', 2 from dual UNION ALL
SELECT 15, 'E', 'I', '8', 'UK', 'M', 2 from dual
);
하나의 부모밑에 여러개 자식이 있을수 있습니다. 기본은 한개 입니다.
1) 수량을 제외한 모든 자식 정보가 같으면 하나로 합칩니다. 수량은 합칩니다.
2) 모든 자식정보의 속성이 다르면 같은것 끼리 합칩니다. 물론 수량도 같은것끼리 합칩니다. 이 경우는 chk속성에 'F'정보를 넣어준다.
감사합니다.