code name 01 test1 02 test2 03 test3 0101 test12 0201 test21 0301 test31 010101 test121 020101 test211 030101 test311 030102 test322 04 상담심리 0401 청소년문제 040101 소분류 05 상담심리및 치료 0403 청소년수련활동 0501 teast
이게 현재의 대,중,소 분류 코드입니다...
어떤 데이타들이 cate라는 컬럼에 code가 들어갑니다...
하고 싶은 작업은 그 데이터들을 가지고
대분별로 몇개,중분류별로 몇개, 소분류별로 몇개 이렇게 나타내고 싶은데...
예를 들어 대분류 별로 몇개 들어갔나 보고 싶다면...
앞의 두자리 코드별로
01 test1 총 몇개 (01,0101,101010 이런게 들어간거 총갯수)
그래서 쿼리를 이렇게 만들었는데...
select cate1,count(cate1) from input where left(cate1,2) in (select left(cate1,2) from input) group by cate1
select a.cate1,count(a.cate1) as count ,c.name from input a join d_code c on a.cate1=c.code where left(a.cate1,2) = (select left(b.cate1,2) from input b where a.seq=b.seq) group by a.cate1,c.name
결과는 01 2 02 2 020101 40 040101 34 이렇게 나옵니다...
제가 원하는 대분류별 결과는 01 2 02 42 04 34 이런겁니다...
중분류나 소분류도 마찬가지구요...
어떤식으로 쿼리를 만들면 될까요...??
답변 좀 부탁드리겠습니다....
|