Ir para conteúdo

POWERED BY:

Arquivado

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

Balero

[Resolvido] Select Count (Soma de valores)

Recommended Posts

Boa tarde, pessoal.

 

Tenho um sistema de inventário de software e estou com um problema que é o seguinte:

 

Possuo uma tabela chamada software, aonde tenho os campos: cod_soft, cod_equip, tipo, fabricante, nome, versao, licenca, registro, cod_licenca. E outra tabela chamda licencas, onde tenho os campos: titular, fabricante, origem, qtadetotal, cod, chave, nome, versao, qtadeusada.

 

Gostaria que fosse exibido o número de Quantidade usada, que seria a Quantidade Total, menos a Quantidade Usada. Posso o seguinte código:

 

$query = "SELECT licencas.*,
	COUNT(software.cod_licenca + software.registro) AS 'TotalUsada' 
	FROM licencas 
	LEFT JOIN software ON software.cod_soft = licencas.cod 
	GROUP BY licencas.cod";

Porém, ele parece não estar pegando a soma dos campos: registro e cod_licenca.

 

Alguém poderia me ajudar? Por gentileza.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Balero, pelo que eu saiba, para somar no MySql usa-se SUM(), ai seu código pode ficar assim...

 

$query = "SELECT SUM(software.cod_licenca + software.registro) AS 'TotalUsada' FROM licencas LEFT JOIN software ON software.cod_soft = licencas.cod GROUP BY licencas.cod";

Vê no que dá e posta de novo...

 

Abraço!

 

[EDITED]Ops, erro meu...

 

Se são tabelas diferentes, eu costumo usar o INNER JOIN, não sei no seu caso...

 

Mas de toda a maneira tenta ai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

(COUNT(distinct software.cod_licenca) + COUNT(distinct software.registro))

Compartilhar este post


Link para o post
Compartilhar em outros sites

COUNT(software.cod_licenca + software.registro)

Nossa, é possível fazer isso?

 

 

E se você fizesse algo como:

 

$query = 
"SELECT licencas.*,        
(COUNT(software.cod_licenca) + COUNT(software.registro)) AS 'TotalUsada'   
      FROM licencas     	LEFT JOIN 
software ON software.cod_soft = licencas.cod     	
GROUP BY licencas.cod";

[edit]: opa Motta, não vi que você já tinha postado a solução, não atualizei a página!!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

COUNT(software.cod_licenca + software.registro)



Nossa, é possível fazer isso?

Então, acho que não é possível fazer não.

 

$query = "SELECT SUM(software.cod_licenca + software.registro) AS 'TotalUsada' FROM licencas LEFT JOIN software ON software.cod_soft = licencas.cod GROUP BY licencas.cod";
Não deu certo não. =\

 

(COUNT(distinct software.cod_licenca) + COUNT(distinct software.registro))
Motta, não deu erro, porém não deu o resultado esperado.

 

Não sei se estou explicando correto, pois a Quantidade Usada seria a soma de determinada chave (que é o campo Registro), mais a soma do cod_licenca (que é o campo cod_licenca). Existe a tabela cod_licenca tanto na tabela Software quanto na tabela Licencas.

 

A tabela cod_licenca está vinculada a registro, pois quando eu dou um INSERT coloco o código da licenca (cod_licenca) e ele mostra a Chave (Registro)

 

Obrigado pela ajuda por enquanto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

código

------

1234

2345

3456

 

O que se quer ?

 

Somar as quantidades de licensas ?

3

 

Somar os VALORES destes códigos ?

7035

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quero somar a quantidade de licensas.

 

Apenas para ajudar mais, no meu sistema, antes tinha apenas o campo Registro , que eu digitava o "serial" e guardava. Agora eu realizo o cadastro desse "serial" e na hora do campo Registro, eu coloco o código (cod_licenca) que foi gerado para ess "serial".

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

 

O que eu preciso é saber quantos equipamentos há utilizando uma determinada chave (cod_licenca).

 

Como ficaria?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

 

O que eu preciso é saber quantos equipamentos há utilizando uma determinada chave (cod_licenca).

 

Como ficaria?

 

Obrigado.

 

group by e count() acho que resolve

abç

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,

 

Consegui realizar o que queria, segue o select de como ficou:

 

$query = "SELECT licencas.*,
	licencas.qtadetotal AS 'TotalChaves',
	COUNT(software.cod_licenca) AS 'TotalUsada'
FROM
	licencas
	LEFT JOIN software ON software.cod_licenca = licencas.cod
GROUP BY
	licencas.cod";

Obrigado.

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.