Balero 0 Denunciar post Postado Janeiro 18, 2010 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
visitante_xp 0 Denunciar post Postado Janeiro 18, 2010 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
Motta 645 Denunciar post Postado Janeiro 18, 2010 (COUNT(distinct software.cod_licenca) + COUNT(distinct software.registro)) Compartilhar este post Link para o post Compartilhar em outros sites
lucasmartins 6 Denunciar post Postado Janeiro 18, 2010 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
Balero 0 Denunciar post Postado Janeiro 18, 2010 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
Motta 645 Denunciar post Postado Janeiro 18, 2010 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
Balero 0 Denunciar post Postado Janeiro 18, 2010 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
Balero 0 Denunciar post Postado Janeiro 19, 2010 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
koga021 0 Denunciar post Postado Janeiro 19, 2010 Pessoal, O que eu preciso é saber quantos equipamentos há utilizando uma determinada chave (cod_licenca). Como ficaria? Obrigado. group by e count() acho que resolveabç Compartilhar este post Link para o post Compartilhar em outros sites
Balero 0 Denunciar post Postado Janeiro 19, 2010 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