Subquery returns more than 1 row

Oi pessoal, estou precisando de uma ajuda com uma consulta SQL que está apresentando erro “Subquery returns more than 1 row”.

Segue abaixo a consulta que criei

DECLARE @idnent uniqueidentifier
SET @idnent = ‘65D09026-D4A2-4D1E-97B2-6AEE6BCB72BD’

DECLARE @idnfdev uniqueidentifier
SET @idnfdev = (SELECT identificador_nf_devolucao
FROM movimento_devolucoes
WHERE identificador_nf_entrada = @idnent);

SELECT documento , serie , codigoproduto , qtdeproduto, cancelado, excluido, data_documento, operacao, tipo_transacao
FROM movimento
WHERE identificador = @idnfdev

A consulta serve para que eu possa pesquisar pelo Identificador do documento de origem o Identificador do documento de devolução que utilizou o documento de entrada como origem porém se mais de um documento de devolução utilizou o documento de origem apresenta erro.

Poderia ser resolvido aplicando TOP 1 porém não traria todos os resultados que eu preciso.

Agradeço desde já.

Se você quer então recuperar todos id de devolução da NF, não pode usar apenas uma variável e retornar todos os ids. Ou coloca TOP 1 e trabalha com um específico ou então faz um cursor e itera sobre eles atualizando id por id.

Faz sentido?

1 curtida