2017-03-04 1 views
0

두 개의 테이블에서 데이터를 가져 와서 dense_rank를 사용하여 환자 클레임 라인을 그룹화하는 방법으로 세 번째 테이블에 넣습니다. 내가 겪고있는 문제는 두 번째 쿼리에서, dense_rank는 첫 번째 쿼리가 끝난 곳을 선택하는 대신 "1"에서 다시 시작합니다.두 번째 쿼리의 Dense_rank

select 
    'somenumber'+ right('000000' + cast(dense_rank()OVER(order by o.column1) as varchar(6)),6) AS rank_id 
    ,'Y' as error_flag 
    ,o.column2 
    ,o.column3 
    ,o.column4 
    ,o.column5 
    ,o.column6 
    ,o.column7 
    ,p.column8 
    ,q.column9 
    ,r.column10 
    into #temp_table 

    FROM main_table o 
     LEFT OUTER JOIN some_table p ON o.blah=p.blah 
     LEFT OUTER JOIN another_table q ON o.snooze=q.snooze 
     LEFT OUTER JOIN im_confused r ON o.help_me=r.help_me 

    where o.column11='somenumber' 

단지 DENSE_RANK가 또 다시 시작하거나 1 일이 중단 된 데리러 조작 할 DENSE_RANK 수있는 또 다른 2 차 테이블 조인을 포함하는 것이 더 쉬울 수시겠습니까?

+0

dense_rank()을 사용할 수있는 MySQL 버전은 무엇입니까? – McNets

+0

사과드립니다 - MySQL이 실수로 태그로 추가되었습니다. –

+0

쿼리가 충분히 큰 경우 최소한의 예제를 게시 할 수 있습니까? – McNets

답변

0

임시 테이블을 사용한 다음 최종 테이블에 삽입 할 때 dense_rank를 수행했습니다. 문제는 해결되었지만 문제는 여전히 남아 있습니다. dense_rank를 조작 할 수 있습니까?

관련 문제