Erro em ORA-01427: a subconsulta de uma única linha retorna mais de uma linha

29/10/2019

0

PRECISO DE UMA JUDA NESSE UPDATE


Update TB_PRODUTO A
Set A.VALOR_UNITARIO = (
SELECT (B.VALOR_VENDA / B.QTD_ITENS)
FROM TB_ITEM_PEDIDO B
WHERE A.codigo_produto = B.codigo_produto)


dessa forma dá o seguinte erro : a subconsulta de uma unica linha retorna mais de uma linha.
Erika

Erika

Responder

Posts

30/10/2019

Emerson Nascimento

provavelmente há vários itens de pedido como o mesmo código de produto.
você precisa de uma média para jogar na tabela de produtos.

use a função AVG, que calcula a média.
algo assim:
Update TB_PRODUTO A
	Set A.VALOR_UNITARIO = (	SELECT AVG(B.VALOR_VENDA / B.QTD_ITENS)
								FROM TB_ITEM_PEDIDO B
								WHERE A.codigo_produto = B.codigo_produto	)
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar