luancastro10 Postado Dezembro 5, 2018 Denunciar Share Postado Dezembro 5, 2018 Pessoal preciso gerar uma coluna calculada dos Ids_Produtos que contém na query, mas está apresentando o erro : Subquery returns more than 1 row Query : select f.id, f.data_baixa as data_pagamento, cm.valor_movimento as valorFaturaSemFrete, c.id as idCadastro, c.nome, (select sum(cm.valor_movimento) from teste_base.produtos_movimento pm where pm.id_produto in(505,506,595,596,597,629,725,732,788,824,1197,1198,1199,1200,1278,214,215,216,217,218,219) and pm.id_produto = pm.id_produto) as valor_kits from teste_base.faturas f left join teste_base.produtos_movimento pm on(pm.id_movimento = f.id_movimento) left join teste_base.controle_movimento cm on(cm.id = f.id_movimento) left join teste_base.usuarios u on(u.id = cm.id_usuario) left join teste_base.cadastros c on(c.id = u.id_cadastro) where f.confirmado = 1 and f.tipo not in(32,33) and f.data_baixa >= '2017-05-01' and f.data_baixa <= '2017-12-31' and pm.id_produto in(505,506,595,596,597,629,725,732,788,824,1197,1198,1199,1200,1278,214,215,216,217,218,219) group by f.id asc having sum(pm.quantidade) >= 14 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leonardo Persan Postado Dezembro 18, 2018 Denunciar Share Postado Dezembro 18, 2018 (editado) E se você tentar assim? select f.id, f.data_baixa as data_pagamento, cm.valor_movimento as valorFaturaSemFrete, c.id as idCadastro, c.nome, sum(cm.valor_movimento) as valor_kits from teste_base.faturas f left join teste_base.produtos_movimento pm on(pm.id_movimento = f.id_movimento) and pm.id_produto in(505,506,595,596,597,629,725,732,788,824,1197,1198,1199,1200,1278,214,215,216,217,218,219) left join teste_base.controle_movimento cm on(cm.id = f.id_movimento) left join teste_base.usuarios u on(u.id = cm.id_usuario) left join teste_base.cadastros c on(c.id = u.id_cadastro) where f.confirmado = 1 and f.tipo not in(32,33) and f.data_baixa >= '2017-05-01' and f.data_baixa <= '2017-12-31' group by f.id asc having sum(pm.quantidade) >= 14 Editado Dezembro 18, 2018 por Leonardo Persan Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 luancastro10 Postado Janeiro 7, 2019 Autor Denunciar Share Postado Janeiro 7, 2019 (editado) Em 18/12/2018 em 12:04, Leonardo Persan disse: E se você tentar assim? select f.id, f.data_baixa as data_pagamento, cm.valor_movimento as valorFaturaSemFrete, c.id as idCadastro, c.nome, sum(cm.valor_movimento) as valor_kits from teste_base.faturas f left join teste_base.produtos_movimento pm on(pm.id_movimento = f.id_movimento) and pm.id_produto in(505,506,595,596,597,629,725,732,788,824,1197,1198,1199,1200,1278,214,215,216,217,218,219) left join teste_base.controle_movimento cm on(cm.id = f.id_movimento) left join teste_base.usuarios u on(u.id = cm.id_usuario) left join teste_base.cadastros c on(c.id = u.id_cadastro) where f.confirmado = 1 and f.tipo not in(32,33) and f.data_baixa >= '2017-05-01' and f.data_baixa <= '2017-12-31' group by f.id asc having sum(pm.quantidade) >= 14 Obrigado pelo retorno Leonardo, ao executar o comando ele trouxe a coluna calculada, mas não dos itens que quero. para entender melhor , cada fatura tem 14 ou mais itens, quando ele acha os itens com os códigos 505,506,595,596,597,629,725,732,788,824,1197,1198,1199,1200,1278,214,215,216,217,218,219 forma o kit. preciso do calculo somente deses itens. Ai sim será o valor real do Kit. Editado Janeiro 7, 2019 por luancastro10 erro de portugues Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leonardo Persan Postado Janeiro 7, 2019 Denunciar Share Postado Janeiro 7, 2019 11 minutos atrás, luancastro10 disse: preciso do calculo somente deses itens O que ele está somando agora além desses itens? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 luancastro10 Postado Janeiro 7, 2019 Autor Denunciar Share Postado Janeiro 7, 2019 ele soma todos os itens da fatura, ou seja se ela tiver além dos 14 produtos. com 14 produtos = x além dos 14 produtos = y mas preciso que na coluna calculada apareça somente o valor dos produtos em específico 505,506,595,596,597,629,725,732,788,824,1197,1198,1199,1200,1278,214,215,216,217,218,219. Assim conseguindo dizer o valor do Kit. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leonardo Persan Postado Janeiro 8, 2019 Denunciar Share Postado Janeiro 8, 2019 10 horas atrás, luancastro10 disse: having sum(pm.quantidade) >= 14 A sua consulta pede para o banco faturas com a quantidade maior ou igual a 14 se você quer só as faturas que tem exatamente 14 é só mudar o sinal. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 luancastro10 Postado Janeiro 8, 2019 Autor Denunciar Share Postado Janeiro 8, 2019 Faz sentido Leonardo, mas uma pergunta consigo calcular somente os itens mencionados em outra coluna? a busca está puxando todas as faturas que contém 14 itens ou mais, mas em valor da fatura é com todos os itens, preciso somente dos 14 que é o Kit. Fazer um sum com os itens 505,506,595,596,597,629,725,732,788,824,1197,1198,1199,1200,1278,214,215,216,217,218,219 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leonardo Persan Postado Janeiro 8, 2019 Denunciar Share Postado Janeiro 8, 2019 23 minutos atrás, luancastro10 disse: Faz sentido Leonardo, mas uma pergunta consigo calcular somente os itens mencionados em outra coluna? Ele só está somando os valores dos itens dos ids que você listou 24 minutos atrás, luancastro10 disse: Fazer um sum com os itens 505,506,595,596,597,629,725,732,788,824,1197,1198,1199,1200,1278,214,215,216,217,218,219 Porém aqui tem 21 ids Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 luancastro10 Postado Janeiro 8, 2019 Autor Denunciar Share Postado Janeiro 8, 2019 4 minutos atrás, Leonardo Persan disse: Ele só está somando os valores dos itens dos ids que você listou Não, fiz a consulta e no campo valor da fatura veio o valor integral, com todos os itens além dos ids citados. 15 minutos atrás, Leonardo Persan disse: Porém aqui tem 21 ids Isso, então a consulta deve ser >20 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
luancastro10
Pessoal preciso gerar uma coluna calculada dos Ids_Produtos que contém na query, mas está apresentando o erro : Subquery returns more than 1 row
Query :
select
f.id,
f.data_baixa as data_pagamento,
cm.valor_movimento as valorFaturaSemFrete,
c.id as idCadastro,
c.nome,
(select sum(cm.valor_movimento) from teste_base.produtos_movimento pm
where pm.id_produto in(505,506,595,596,597,629,725,732,788,824,1197,1198,1199,1200,1278,214,215,216,217,218,219)
and pm.id_produto = pm.id_produto) as valor_kits
from teste_base.faturas f
left join teste_base.produtos_movimento pm on(pm.id_movimento = f.id_movimento)
left join teste_base.controle_movimento cm on(cm.id = f.id_movimento)
left join teste_base.usuarios u on(u.id = cm.id_usuario)
left join teste_base.cadastros c on(c.id = u.id_cadastro)
where
f.confirmado = 1
and f.tipo not in(32,33)
and f.data_baixa >= '2017-05-01'
and f.data_baixa <= '2017-12-31'
and pm.id_produto in(505,506,595,596,597,629,725,732,788,824,1197,1198,1199,1200,1278,214,215,216,217,218,219)
group by f.id asc
having sum(pm.quantidade) >= 14
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.