Usuário com melhor resposta
O que está de errado

Pergunta
-
select
det.idwohd,
cast(det.extcode as int) extcode,
det.code,
det.woprod,
(select
det_op.woprod
from
tblwodet as DET_OP with (nolock)
where
det_op.idwohd = det.idwohd and
det_op.extcode = (select max(det_opy.extcode)
from tblwodet as det_opy
where
det_opy.idwohd = det.idwohd and
det_opy.extcode < det.extcode)
) as QTDE_OPERAR,
det.qty,
det.woscrap
from
tblwodet as det
where
det.code not like '%E' and
det.code not in ('FO','008','996','997','998','999','1000','9999')
order by
det.idwohd,
cast(det.extcode as int)Nesse sql aparece o erro:
Mensagem 512, Nível 16, Estado 1, Linha 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
Respostas
-
Deleted
- Sugerido como Resposta Giovani Cr quinta-feira, 24 de outubro de 2013 14:30
- Marcado como Resposta Giovani Cr segunda-feira, 28 de outubro de 2013 14:17
Todas as Respostas
-
-
O problema é na coluna QTDE_OPERAR, onde voce faz um select dentro do select para retornar o valor para esta coluna, isto funciona caso só retorne um valor que vai ser preenchido na coluna para cada linha, caso retorne mais de 1 valor vai dar este erro que voce colocou.
tente tirar este select da consulta e fazer um join ente as tabelas.
Alexandre Matayosi Conde Mauricio.
- Sugerido como Resposta Durval RamosModerator quarta-feira, 23 de outubro de 2013 23:12
-
Boa tarde,
Raul, se o seu objetivo é retornar o valor da coluna woprod da linha anterior experimente dessa forma:
(select top 1 det_op.woprod from tblwodet as DET_OP where det_op.idwohd = det.idwohd and det_op.extcode < det.extcode order by det_op.extcode desc ) as QTDE_OPERAR,
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Durval RamosModerator quarta-feira, 23 de outubro de 2013 23:12
-
Deleted
- Sugerido como Resposta Giovani Cr quinta-feira, 24 de outubro de 2013 14:30
- Marcado como Resposta Giovani Cr segunda-feira, 28 de outubro de 2013 14:17