SELECT COM SUBQUERY

05/02/2014

0

Bom Dia Pessoal,

Estou fazendo um SELECT em duas tabelas para depois fazer um INSERT em outra tabela.
Nesta tabela que vou fazer o INSERT tenho dois campos QUANTIDADE_MAQUINA1, PESO_MAQUINA1, QUANTIDADE_MAQUINA2, PESO_MAQUINA2.
Mas no meu SELECT não estou conseguindo trazer essas informações com SUBQUERY.

SELECT campo1,campo2,campo3,campo4,
(SELECT Quantidade FROM refugoOP WHERE refugoOP.Maquina = 'OND' ) AS QTD_OND,
(SELECT Peso FROM refugoOP WHERE refugoOP.Peso = 'OND' ) AS PESO_OND,


FROM Tabela1 INNER JOIN Tabela2 ON Tabela1.CampoEmComum = Tabela2.CampoEmComum


GROUP BY campo1,campo2,campo3,campo4
ORDER BY campo1 DESC

Está me retornando o seguinte 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.

Qual outra forma posso trazer essas informaçõe separadas?

Obrigado.

Marcio Morando

Marcio Morando

Responder

Posts

05/02/2014

Leandro Chiodini

Isso ocorre pq em um dos dois subselects
esta retornando mais de um registro.
ou nos dois.

Pode ser que voce tenha na tabela refugoOP
mais de um registro com maquina = 'OND'
ou refugoOP = 'OND'


Faz um select simples para ver se traz mais de um registro


SELECT Quantidade FROM refugoOP WHERE refugoOP.Maquina = 'OND'  /Veja se traz mais de um registro

SELECT Peso FROM refugoOP WHERE refugoOP.Peso = 'OND'  /Veja se traz mais de um registro

Responder

05/02/2014

Marcio Morando

Bom Dia,

Sim, está trazendo mais de um registro.

Tentei fazer com CASE WHEN e deu certo!

Muito Obrigado.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar