Usuário com melhor resposta
row_number() over (partition by SQL Server 2000

Pergunta
-
Pessoal
Gostaria de conseguir algo semenhante ao resultado abaixo, pois estou utilizando uma base com dados em SQL Server 2000, tentei utilizar cursor mais o tempo não está muito bom, por mais que estarei utilizando está rotina apenas uma vez, na implantação do Sistema.
Se fosse no SQL Server 2008, estaria utilizando row_number() over (partition by, o que eu poderia utilizar dentro do SQL Server 2000, parecido com isto ?
Cod Seq
100 1
100 2
200 1
200 2
200 3
300 1
300 2
300 3
Respostas
-
José
Acabei fazendo de outra maneira, que 2o. o autor é mais rápido, e percebi que no momento está rápido mesmo, veja o link abaixo, e a forma que acabei fazendo, e qualquer novidade, basta dar um alô, e desde já, quero agradecer a sua grande ajuda.
begin tran
update tb_rec_0 set
tb_rec_0.nr_Seq_Documento = tb_rec_seq.id_Seq_Doc
from nc_receber tb_rec_0 inner join
(select tb_rec_1.chavecontrole,tb_rec_1.referencia,tb_rec_1.sacadoprincipal,tb_rec_1.dt_emissao_doc,count(tb_rec_1.ChaveControle) as id_Seq_Doc
from nc_receber tb_rec_1
inner join nc_receber tb_rec_2 on tb_rec_2.chavecontrole <= tb_rec_1.chavecontrole
and tb_rec_1.referencia = tb_rec_2.referencia
and tb_rec_1.sacadoprincipal = tb_rec_2.sacadoprincipal
and tb_rec_1.dt_emissao_doc = tb_rec_2.dt_emissao_doc
group by tb_rec_1.chavecontrole,tb_rec_1.referencia,tb_rec_1.sacadoprincipal,tb_rec_1.dt_emissao_doc) as tb_rec_seq
on tb_rec_0.chavecontrole = tb_rec_seq.ChaveControle
-- commit
-- rollback- Sugerido como Resposta Durval RamosModerator quinta-feira, 14 de agosto de 2014 18:11
- Marcado como Resposta Ricardo Barbosa Cortes quinta-feira, 14 de agosto de 2014 18:53
Todas as Respostas
-
-
José
Tinha feito alguns testes anteriormente com identity() , mais não me atendeu, estou tentando outros, e qualquer novidade eu também aviso. E valeu pelas dicas.
-
-
José
Acabei fazendo de outra maneira, que 2o. o autor é mais rápido, e percebi que no momento está rápido mesmo, veja o link abaixo, e a forma que acabei fazendo, e qualquer novidade, basta dar um alô, e desde já, quero agradecer a sua grande ajuda.
begin tran
update tb_rec_0 set
tb_rec_0.nr_Seq_Documento = tb_rec_seq.id_Seq_Doc
from nc_receber tb_rec_0 inner join
(select tb_rec_1.chavecontrole,tb_rec_1.referencia,tb_rec_1.sacadoprincipal,tb_rec_1.dt_emissao_doc,count(tb_rec_1.ChaveControle) as id_Seq_Doc
from nc_receber tb_rec_1
inner join nc_receber tb_rec_2 on tb_rec_2.chavecontrole <= tb_rec_1.chavecontrole
and tb_rec_1.referencia = tb_rec_2.referencia
and tb_rec_1.sacadoprincipal = tb_rec_2.sacadoprincipal
and tb_rec_1.dt_emissao_doc = tb_rec_2.dt_emissao_doc
group by tb_rec_1.chavecontrole,tb_rec_1.referencia,tb_rec_1.sacadoprincipal,tb_rec_1.dt_emissao_doc) as tb_rec_seq
on tb_rec_0.chavecontrole = tb_rec_seq.ChaveControle
-- commit
-- rollback- Sugerido como Resposta Durval RamosModerator quinta-feira, 14 de agosto de 2014 18:11
- Marcado como Resposta Ricardo Barbosa Cortes quinta-feira, 14 de agosto de 2014 18:53