2017-03-04 19 views
0

私は2つのテーブルからデータを取得し、それらを患者請求ラインをまとめてグルーピングする方法としてdense_rankを使用して3番目のテーブルに配置します。私が実行している問題は2番目のクエリで、1番目のクエリが終了した場所を取得するのではなく、dense_rankが "1"で再び開始されます。2番目のクエリの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第二のテーブルの参加などがしやすいでしょうか?

+0

dense_rank()を使用できるmysqlのバージョンはどれですか? – McNets

+0

私は謝罪します - MySQLは誤ってタグとして追加されました。 –

+0

クエリが十分に大きい場合は、最小限の例を投稿できますか? – McNets

答えて

0

ちょうど一時テーブルを使用して、最終テーブルに挿入するときにdense_rankを実行しました。問題は解決しましたが、問題はまだ残っています - dense_rankを操作できますか?

関連する問題