SELECT COM SUBQUERY
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.
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
Curtidas 0
Respostas
Leandro Chiodini
05/02/2014
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
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
GOSTEI 0
Marcio Morando
05/02/2014
Bom Dia,
Sim, está trazendo mais de um registro.
Tentei fazer com CASE WHEN e deu certo!
Muito Obrigado.
Sim, está trazendo mais de um registro.
Tentei fazer com CASE WHEN e deu certo!
Muito Obrigado.
GOSTEI 0