Select com count condicionado
03/02/2023
0
Executando a seguinte select:
Select caixas,
(Select count (*) from retornos where retornos.codigo = entradas.codigo) from Entradas
where entradas.numero = ''257''
Preciso adaptar para mostrar somente os registros em que a coluna "caixas" seja diferente da coluna count. É possível isso com select?
Agradeço.
Alexandre
Posts
03/02/2023
Frank Hosaka
Na minha cabeça, eu teria uma tabela entrada assim: id,data, nf, valor, CFOP. Se não me falha a memória, o CFOP de retorno é 132.
Para contar todos os retornos, a consulta seria assim "select count(id) as retorno from entrada where CFOP=132 or CFOP=232 or CFOP=332";
03/02/2023
Frank Hosaka
Na minha cabeça, eu teria uma tabela entrada assim: id,data, nf, valor, CFOP. Se não me falha a memória, o CFOP de retorno é 132.
Para contar todos os retornos, a consulta seria assim "select count(id) as retorno from entrada where CFOP=132 or CFOP=232 or CFOP=332";
Por outro lado, você fala em caixas na consulta.
Nesse caso, precisamos de mais duas tabelas, a de produtos e a historia_dos_produtos.
vamos criar o id=1 na nf de entrada com CFOP 132, com valor de R$ 10,00.
vamos criar o id=1 na tabela de produtos com o nome de repolho, com o custo de R$ 5,00.
vamos criar o id=1 na tabela historia_dos_produtos, onde temos identrada=1, idproduto=1, quantidade=10, total=[não permitido utilizar] quando CFOP=132.
O MySQL permite ajuntar todas as tabelas, mas procurar por caixas de repolho quando ele foi planejado para usar unidades, aí a coisa complica.
03/02/2023
Emerson Nascimento
select e.caixas, coalesce(count(r.codigo),0) retorno from entradas e left join retornos r on r.codigo = e.codigo where e.numero = '257' group by e.caixas having e.caixas <> coalesce(count(r.codigo),0)
03/02/2023
Arthur Heinrich
select e.caixas, r.qtde from ( select codigo, count(1) qtde from retornos group by codigo ) r join entradas e on e.codigo = r.codigo where e.numero = '257' and e.caixas <> r.qtde
04/02/2023
Alexandre
Clique aqui para fazer login e interagir na Comunidade :)