jescudeiro Aprendiz
Registrado: Segunda-Feira, 2 de Abril de 2012 Mensagens: 261 Localização: ribeirao preto
|
Enviada: Ter Dez 30, 2014 4:27 pm Assunto: Update buscando Row_Number() Delphi 7 e SQL Server 2008 |
|
|
Boa tarde,
estou fazendo um esquema para controle de entregas. entao na tabela clientes tenho
Clientes
Codigo
Nome
SeqEntrega
o usuario vai inserir e alterar essa SeqEntrega da maneira que melhor achar, gostaria de reorganizar essa SeqEntrega atraves de um update e ROW_NUMBER(), mas da erro.
segue o comando..
UPDATE clientes SET SeqEntrega = (SELECT ROW_NUMBER() OVER (PARTITION BY SeqEntrega
ORDER by SeqEntrega) AS b FROM clientes)
segue erro:
A subconsulta retornou mais de 1 valor. Isso não é permitido quando a subconsulta segue um =, !=, <, <= , >, >= ou quando ela é usada como uma expressão.
A instrução foi finalizada.
muito obrigado... Feliz Ano Novo |
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Ter Dez 30, 2014 6:11 pm Assunto: |
|
|
Boa noite,
Experimente dessa forma:
Código: | with CTE_RN as
(
select
*,
ROW_NUMBER() OVER(PARTITION BY Codigo ORDER by SeqEntrega) AS RN
FROM clientes
)
UPDATE CTE_RN
SET SeqEntrega = RN |
Espero que ajude. |
|