Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

guilhermesb

Erro Subquery

Recommended Posts

Olá, vamos ver se conseguem me ajudar.

eu preciso trazer dois valores da mesma tabela com WHERE diferentes, ou seja, trazer em uma coluna um valor da tabela com uma clausula e na outra coluna trazer outro valor com outra clausula WHERE. EU fiz como abaixo mas não deu certo. O que devo fazer para concluir a operação. o Erro apresentado foi o seguinte: Msg 512, Level 16, State 1, Line 1

Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
Eu entendo que o erro é porque a subquery esta trazendo mais de um valor. Agora eu preciso saber como trazer o valor de PRECO1 da subquery exatamente com os mesmo produtos do select principal.

 

SELECT EP.FILIAL,
EP.PRODUTO,
EP.ESTOQUE,
PP.PRECO1,
(SELECT (PRECO1) FROM PRODUTOS_PRECOS
WHERE CODIGO_TAB_PRECO = '00'
) AS CUSTO
FROM ESTOQUE_PRODUTOS AS EP
inner JOIN PRODUTOS_PRECOS AS PP ON
PP.PRODUTO=EP.PRODUTO
WHERE EP.FILIAL ='MATRIZ'
AND EP.ESTOQUE > '0'
AND PP.CODIGO_TAB_PRECO = '90'
ORDER BY FILIAL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma subquery enquanto coluna só pode retornar no máximo uma linha e coluna

 

A solução passa por fazer a sql

SELECT (PRECO1) FROM PRODUTOS_PRECOSWHERE CODIGO_TAB_PRECO = '00'

retornar apenas uma valor , soluções possíveis (usar um agregador , SUM , MAX etc) ou qualificar melhor o acesso (chave)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.