Jair - Fórmula Postado 29 de Maio de 2008 Tópicos Que Criei: 902 Tópicos/Dia: 0.14 Meu Conteúdo: 8.857 Conteúdo/Dia: 1.34 Reputação: 311 Pontos/Conquistas: 106.711 Conteúdo Resolvido: 0 Dias Ganho: 196 Status: Offline Idade: 52 Dispositivo: Windows Denunciar Compartilhar Postado 29 de Maio de 2008 Texto recebido do membro hendrix, pois o mesmo ainda não sabe criar tópicos... Pra agilizar, estou postando aqui, até que o nosso amigo saiba iniciar um tópico. Sou novo no Forum e não sei como criar um novo tópico. Você pode me ajudar ? Preciso somar as notas de 3 tabelas diferentes. Fiz os Select´s separados de cada uma das tabelas. Ou seja, preciso pegar o resultado de cada uma e somar; afim de obter uma nota parcial deste aluno. select sum (pontnum) from udataaval where codperlet = '2008/1' and CODTUR = 'D1NA' and numprova in ('1','2') and codmat = 'EJ' select A1, A2, A3, A4, A5 from umatalun where perletivo = '2008/1' and CODTUR = 'D1NA' and codmat = 'EJ' and mataluno = 'd03101' select P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 from ealunotpr where perletivo = '2008/1' and CODTUR = 'D1NA' and codmat = 'Filo I' and mataluno = 'D03101' Alguém pode me ajudar ? Atenciosamente, Lucas Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Maffra Postado 29 de Maio de 2008 Tópicos Que Criei: 15 Tópicos/Dia: 0.00 Meu Conteúdo: 548 Conteúdo/Dia: 0.09 Reputação: 1 Pontos/Conquistas: 2.891 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 44 Denunciar Compartilhar Postado 29 de Maio de 2008 Lucas, Eu não conheço as estrturas dessas tabelas, por isso não sei qual o resultado você traz em cada uma das 3 sentenças. Se você precisa de um único resultado, ou seja, valor da nota, você pode: 1) UNION ALL a) em cada uma das sentenças utilize a soma para trazer um único campo; b) utilize a função UNION ALL para trazer as sentenças juntas, ou seja, em três linhas; c) em seguida você cria uma sentença externa para somar os resultados 2) JOINS a) faça uma sentença externa; b) as 3 sentenças internas você faz um JOIN para os campos CODTUR, CODMAT e MATALUNO; c) assim você terá uma linhas para cada aluno e o resultado das 3 sentenças em campos de um resultado, bastanto realizar a soma Se você não entender eu faço exemplos. Att, Maffra Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Anderson Santos Postado 29 de Maio de 2008 Tópicos Que Criei: 0 Tópicos/Dia: 0 Meu Conteúdo: 24 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 120 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 41 Denunciar Compartilhar Postado 29 de Maio de 2008 Não faço uso das tables UDATAAVAL e EALUNOTPR mas acho que a estrutura ficaria algo do tipo: select a.A1 + a.A2 + a.A3 + a.A4 + a.A5 + sum (b.pontnum) + c.P1 + c.P2 + c.P3 + c.P4 + c.P5 + c.P6 + c.P7 + c.P8 + c.P9 + c.P10 from umatalun a inner join udataaval b on (a.mataluno=b.mataluno and a.perletivo=b.codperlet and a.codmat=b.codmat) inner join ealunotpr c on (a.mataluno=c.mataluno and a.perletivo=c.perletivo and a.codmat=c.codmat) where perletivo = '2008/1' and CODTUR = 'D1NA' and codmat = 'EJ' and mataluno = 'd03101' Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Maffra Postado 29 de Maio de 2008 Tópicos Que Criei: 15 Tópicos/Dia: 0.00 Meu Conteúdo: 548 Conteúdo/Dia: 0.09 Reputação: 1 Pontos/Conquistas: 2.891 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 44 Denunciar Compartilhar Postado 29 de Maio de 2008 isso msm.... Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
hendrix Postado 29 de Maio de 2008 Tópicos Que Criei: 0 Tópicos/Dia: 0 Meu Conteúdo: 3 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 15 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Denunciar Compartilhar Postado 29 de Maio de 2008 Texto recebido do membro hendrix, pois o mesmo ainda não sabe criar tópicos... Pra agilizar, estou postando aqui, até que o nosso amigo saiba iniciar um tópico. Pessoal, na verdade descobri que só preciso somar as linhas dos resultados destes 2 select´s select A1, A2, A3, A4, A5 from umatalun where perletivo = '2008/1' and CODTUR = 'D1NA' and codmat = 'FILO I' and mataluno = 'd03101' que traz este resultado : NULL 21.00 NULL NULL NULL ------------------------------------------------------------ select P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 from ealunotpr where perletivo = '2008/1' and CODTUR = 'D1NA' and codmat = 'FILO I' and mataluno = 'd03101' 5.0000 9.0000 NULL NULL NULL NULL NULL NULL NULL NULL ------------------------------------------------------------------------------------------------------------------------ Mas não consigo somar os valores que estão NULL. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Maffra Postado 29 de Maio de 2008 Tópicos Que Criei: 15 Tópicos/Dia: 0.00 Meu Conteúdo: 548 Conteúdo/Dia: 0.09 Reputação: 1 Pontos/Conquistas: 2.891 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 44 Denunciar Compartilhar Postado 29 de Maio de 2008 Hendrix, Utilize a função ISNULL. Essa função se assemelha ao REPLACE ou a um CASE, exemplo: se valor NULL então substitua por ... ISNULL(CampoNulo,NovoValor) Att, Maffra Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jairo Postado 30 de Maio de 2008 Tópicos Que Criei: 192 Tópicos/Dia: 0.03 Meu Conteúdo: 1.767 Conteúdo/Dia: 0.27 Reputação: 2 Pontos/Conquistas: 10.702 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 52 Denunciar Compartilhar Postado 30 de Maio de 2008 Hendrix, Utilize a função ISNULL. Essa função se assemelha ao REPLACE ou a um CASE, exemplo: se valor NULL então substitua por ... ISNULL(CampoNulo,NovoValor) Att, Maffra isso msm.... rsrsrs Fica mais ou menos assim Hendrix: select isnull(A1,0), isnull(A2,0), isnull(A3,0), isnull(A4,0), isnull(A5,0) from umatalun ... Desta forma vc vai conseguir somar os valores quando zerados por estarem nulos... Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Joãozinho Postado 30 de Maio de 2008 Tópicos Que Criei: 12 Tópicos/Dia: 0.00 Meu Conteúdo: 56 Conteúdo/Dia: 0.01 Reputação: 0 Pontos/Conquistas: 400 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 42 Denunciar Compartilhar Postado 30 de Maio de 2008 Pela mor de Deus, não me crucifiquem (até escrevi errado... rsrrs) Como são tabelas distintas, tome cuidado para resultados multiplos que vão distorcer seu valor final, na duvida é melhor alinhar os campos de cada consulta (mesmo campos) e utilizar o union all entre cada e acima de tudo vc faz um select e soma o resultado de cada. Pois ao interligar tabelas que não são 1 para 1 irá trazer resultados acima do desejado. Vixeeee....... Entendeu ? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Maffra Postado 23 de Junho de 2008 Tópicos Que Criei: 15 Tópicos/Dia: 0.00 Meu Conteúdo: 548 Conteúdo/Dia: 0.09 Reputação: 1 Pontos/Conquistas: 2.891 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 44 Denunciar Compartilhar Postado 23 de Junho de 2008 Tópico Fechado / Resolvido. O mesmo foi marcado como resolvido por não haver mais nada a resolver, pelo mesmo ter ficado parado por muito tempo sem o membro que o iniciou voltar a participar ou comentar, ou por não ter mais comentários de nenhum outro membro do Fórum. Qualquer coisa, alguma dúvida ou questionamento sobre o assunto, pode postar novamente que analisaremos, ou se preferir, favor entrar em contato com a administração ou moderação, através do link: Administradores e Moderadores que retiraremos o STATUS de RESOLVIDO do seu título. Se preferir, mande um email para admin@forumrm.com.br Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Participe da conversa
Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.