Sardinha 0 Denunciar post Postado Junho 23, 2009 Tenho uma tabela onde contem o usuario e os alimentos por ele consumido. Depois em outra tabela tenho os alimentos e suas respectivas calorias. Gostaria de saber qual q melhor forma de usar SQL pra poder fazer a conta de quantas calorias ingeridas por um determinado usuario de acordo com os alimentos ingeridos. Aguem pode ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
johnatam.camargo 0 Denunciar post Postado Junho 23, 2009 entaum veio para você fazer isso você soh precisa fazer um select sum no campo calorias.. tente postar a tabela para nos analisarmos.. fuiii Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Junho 24, 2009 imaginemos pessoa | comida e comida | caloria select p.pessoa, sum(c.caloria) total_calorias from pessoa_comida p, comida_caloria c where c.comida=p.comida group by pessoa Compartilhar este post Link para o post Compartilhar em outros sites
Sardinha 0 Denunciar post Postado Junho 24, 2009 imaginemos pessoa | comida e comida | caloria select p.pessoa, sum(c.caloria) total_calorias from pessoa_comida p, comida_caloria c where c.comida=p.comida group by pessoa Entao, tentei desse jeito e ainda nao consegui. Vou explicar um pouco mais: Minha tabela q contem as calorias chama-se: alimentos A tabela que contem os alimentos q o usuario ingere chama-se: refeicao Minha SQL ficou assim: SELECT p.id_usuario, sum(c.calorias) total_calorias FROM refeicao p, alimentos c WHERE c.alimento=p.alimento GROUP BY id_usuario" Nao intendi para que serve o total_calorias e como funciona o GROUP BY. Obrigado pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Junho 24, 2009 Amigo, Group by é um comando básico do sql usado para agrupar informações e o total_calorias é um alias para que você possa identificar algum campo com um nome definido por você ao invés do nome dele na tabela por exemplo. Sugiro que estude um pouco mais de SQL, pois com certeza estes dois comandos você utilizará futuramente. Você está enviando pro BD a seguinte ordem: Retorne o id_usuario e a soma de todas as calorias com o nome fictício total_calorias A partir da tabela refeicao p, alimentos c Onde c.alimento seja igual a p.alimento Agrupando o resultado pelo id_usuario []'s Compartilhar este post Link para o post Compartilhar em outros sites
Sardinha 0 Denunciar post Postado Junho 24, 2009 Muito obrigado Chrnos. Com a sua ajuda, consegui o resultado desejado. Aproveitando o topico, gostaria de uma indicação para algum livro sobre SQL. Estou no primeiro ano de sistema da informacao e gostaria de me aprofundar em SQl. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Junho 24, 2009 Dê uma lida neste tópico. Acho que pode lhe ser útil. Livros eu particularmente não uso nenhum... aprendo mais com a experiência e por tentativa e erro. Mas o básico do sql você acha em apostilas em geral. Depois que dominar os comandos básicos ai sim você vai poder montar rotinas complexas dentro do BD, como Triggers e Stored Procedures... antes será difícil. []'s Compartilhar este post Link para o post Compartilhar em outros sites