Como fazer o Select
Bom dia pessoal
Estou com um problema para resolver em SQl Server, tenho estas 3 tabelas, onde tenho 2 perguntas a serem respondidas como mostra o exemplo abaixo. O propósito é de que com as informações das tabelas pergunta e alternativa eu consiga somar e obter o resultado mostrado abaixo.
Teria como fazer isto?
As estruturas das tabelas são apenas com campos do tipo Integer e String, para facilitar. Apenas existe um relacionamento entre a tabela pergunta e alternativa, A tabela votos não conversa com ninguém.
Como seria os comandos SELECT para retornar as respostas da pergunta 01 e 02.
Alguém poderia me ajudar? Seria muito grato a todos.
Valnei
Tabela Pergunta
CodPergunta Pergunta
001 Qual a sua cor preferida?
002 Qual o seu time favorito?
Tabela Alternativa
CodAlternativa Alternativa CodPergutna
001 Preto 001
002 Azul 001
003 Roxo 001
004 Palmeiras 002
005 Corinthians 002
É uma tabela do tipo temporária que na verdade acumula somente o código da alternativa, pois ao final ele vai somar e dar o resultado de acordo com as 2 questões abaixo.
Tabela Votos
CodVoto CodAlternativa
001 001
002 002
003 001
004 003
005 001
006 001
Perguntas:
1. Total de votos por alternativa
O resultado esperado seria este: Selecionando a pergunta Qual a sua cor favorita?
Alternativa Quantidade de votos
Preto 004
Azul 001
Roxo 003
2. Total de votos por pergunta
Resultado Esperado.
Qual a sua cor favorita? teve 8 votos (veja o exemplo acima)
Qual o seu tive favorito? Teve 2 votos
Vlw
Estou com um problema para resolver em SQl Server, tenho estas 3 tabelas, onde tenho 2 perguntas a serem respondidas como mostra o exemplo abaixo. O propósito é de que com as informações das tabelas pergunta e alternativa eu consiga somar e obter o resultado mostrado abaixo.
Teria como fazer isto?
As estruturas das tabelas são apenas com campos do tipo Integer e String, para facilitar. Apenas existe um relacionamento entre a tabela pergunta e alternativa, A tabela votos não conversa com ninguém.
Como seria os comandos SELECT para retornar as respostas da pergunta 01 e 02.
Alguém poderia me ajudar? Seria muito grato a todos.
Valnei
Tabela Pergunta
CodPergunta Pergunta
001 Qual a sua cor preferida?
002 Qual o seu time favorito?
Tabela Alternativa
CodAlternativa Alternativa CodPergutna
001 Preto 001
002 Azul 001
003 Roxo 001
004 Palmeiras 002
005 Corinthians 002
É uma tabela do tipo temporária que na verdade acumula somente o código da alternativa, pois ao final ele vai somar e dar o resultado de acordo com as 2 questões abaixo.
Tabela Votos
CodVoto CodAlternativa
001 001
002 002
003 001
004 003
005 001
006 001
Perguntas:
1. Total de votos por alternativa
O resultado esperado seria este: Selecionando a pergunta Qual a sua cor favorita?
Alternativa Quantidade de votos
Preto 004
Azul 001
Roxo 003
2. Total de votos por pergunta
Resultado Esperado.
Qual a sua cor favorita? teve 8 votos (veja o exemplo acima)
Qual o seu tive favorito? Teve 2 votos
Vlw
Valnei Reis
Curtidas 0
Respostas
Alex Lekao
23/09/2013
Ola Valnei, bom dia!!!
nao sei se entendi bem.
Mas testa com este codigo
Espero ter ajudado.
Abraco.
Alex - Lekao
nao sei se entendi bem.
Mas testa com este codigo
select p.Alternativa, count(a.codalternativa) from pergunta as p inner join alternativa as a on a.codpergunta = p.codpergunta group by p.alternativa
Espero ter ajudado.
Abraco.
Alex - Lekao
GOSTEI 0
Valnei Reis
23/09/2013
Obrigado Alex
Vou executar este código e retorno para dizer se esta tudo certo.
Obrigado
Valnei
Vou executar este código e retorno para dizer se esta tudo certo.
Obrigado
Valnei
GOSTEI 0
Mariana Carvalho
23/09/2013
Ola Valnei, bom dia!!!
nao sei se entendi bem.
Mas testa com este codigo
Espero ter ajudado.
Abraco.
Alex - Lekao
nao sei se entendi bem.
Mas testa com este codigo
select p.Alternativa, count(a.codalternativa) from pergunta as p inner join alternativa as a on a.codpergunta = p.codpergunta group by p.alternativa
Espero ter ajudado.
Abraco.
Alex - Lekao
sempre me perco com esses selects.
GOSTEI 0
Rodrigo Lacerda
23/09/2013
Mariana, mas é tão simples!!
mas pra não se perder eu recomendo sempre identar ...
mas pra não se perder eu recomendo sempre identar ...
GOSTEI 0
Alex Lekao
23/09/2013
com certeza a identacao ajuda muito...
teve inclusive um topico no forum que se falava a respeito de identacao.
eu particularmente qdo vejo alguns codigos do pessoal que nao esta identado, honestamente fico confuso e nao consigo ajudar legal ou analisar bem.
embora nao tenha tanto conhecimento assim... sou meio novato... rsrsrsr
teve inclusive um topico no forum que se falava a respeito de identacao.
eu particularmente qdo vejo alguns codigos do pessoal que nao esta identado, honestamente fico confuso e nao consigo ajudar legal ou analisar bem.
embora nao tenha tanto conhecimento assim... sou meio novato... rsrsrsr
GOSTEI 0
Rodrigo Lacerda
23/09/2013
Exatamente Alex,
eu particularmente não consigo entender algumas bagunças que o pessoal faz, quando comecei a programar a primeira coisa que meu professor me fez fazer foi identar tudo e sempre me dando bronca ai meio que fiquei traumatizado ! haahaha...
mas de fato, um código bem identado , organizado fica muito mais fácil resolver problemas e também evita-os.
eu particularmente não consigo entender algumas bagunças que o pessoal faz, quando comecei a programar a primeira coisa que meu professor me fez fazer foi identar tudo e sempre me dando bronca ai meio que fiquei traumatizado ! haahaha...
mas de fato, um código bem identado , organizado fica muito mais fácil resolver problemas e também evita-os.
GOSTEI 0
Alex Lekao
23/09/2013
com ctz...
eu nao sou proramador, nem gosto de programar...
qdo comecei a mexer com banco... senti a necessidade de fazer identacao nos codigos... e tendo fazer o maximo possivel... nunca recebi um treinamento nem orientacao especifica a respeito... rsrsr
eu nao sou proramador, nem gosto de programar...
qdo comecei a mexer com banco... senti a necessidade de fazer identacao nos codigos... e tendo fazer o maximo possivel... nunca recebi um treinamento nem orientacao especifica a respeito... rsrsr
GOSTEI 0
Rodrigo Lacerda
23/09/2013
heheheh show...
eu recebi na faculdade, prof gente boa demais, até hoje muito amigo meu.
eu recebi na faculdade, prof gente boa demais, até hoje muito amigo meu.
GOSTEI 0
Alex Lekao
23/09/2013
ai eh da hora...
eu tenho um que eh da hora tbm...
estou fazendo faculdade so agora... rssrsr
o cara eh muito bom e da aula de banco de dados...
pelo que vejo o cara manja muito de muita coisa... e eh bem aprofundado e camarada simples...
eu tenho um que eh da hora tbm...
estou fazendo faculdade so agora... rssrsr
o cara eh muito bom e da aula de banco de dados...
pelo que vejo o cara manja muito de muita coisa... e eh bem aprofundado e camarada simples...
GOSTEI 0
Rodrigo Lacerda
23/09/2013
Entendi.. show,
mas cade esse Valnei que não responde! rs
mas cade esse Valnei que não responde! rs
GOSTEI 0
Valnei Reis
23/09/2013
Grande Alex.
Ainda não tive tempo suficiente para testar o código do amigo informado anteriormente, acredito que até amanhã devo dar uma parecer sem falta.
Caso vc tenha algo a acrescentar ao código ou ao meu problema eu agradeço
Valnei
Ainda não tive tempo suficiente para testar o código do amigo informado anteriormente, acredito que até amanhã devo dar uma parecer sem falta.
Caso vc tenha algo a acrescentar ao código ou ao meu problema eu agradeço
Valnei
GOSTEI 0
Alex Lekao
23/09/2013
entao Valnei,
Eu nao fiz teste nem nada com relacao ao seu problema, apenas escrevi pensando nos dados que vc informou.
Para fazermos um teste mais efetivo teria que fazer um insert de dados na base, e eu infelizmente nao tive tempo de fazer isso tambem... rsrsr
eu aqui o tempo eh muito escasso... rsrsr
mas vamos aguardar para ver se da certo...
Eu nao fiz teste nem nada com relacao ao seu problema, apenas escrevi pensando nos dados que vc informou.
Para fazermos um teste mais efetivo teria que fazer um insert de dados na base, e eu infelizmente nao tive tempo de fazer isso tambem... rsrsr
eu aqui o tempo eh muito escasso... rsrsr
mas vamos aguardar para ver se da certo...
GOSTEI 0
Mariana Carvalho
23/09/2013
Mariana, mas é tão simples!!
mas pra não se perder eu recomendo sempre identar ...
mas pra não se perder eu recomendo sempre identar ...
o problema não é isso e sim os codigos mesmo.
GOSTEI 0
Roniere Almeida
23/09/2013
Mariana, existe um otimo livro, o nome é Fundamentos em T-SQL.
GOSTEI 0
Alex Lekao
23/09/2013
Mariana, mas é tão simples!!
mas pra não se perder eu recomendo sempre identar ...
mas pra não se perder eu recomendo sempre identar ...
o problema não é isso e sim os codigos mesmo.
eu tambem me perco com os codigos as vezes... rsrsr
GOSTEI 0
Rodrigo Lacerda
23/09/2013
Ah sim..
Mas sintaxe é mais prática mesmo, com o tempo você grava.
Mas sintaxe é mais prática mesmo, com o tempo você grava.
GOSTEI 0
Mariana Carvalho
23/09/2013
praticando sempre, fica mais facil, mas nem sempre é possivel.
GOSTEI 0
Alex Lekao
23/09/2013
Nem me fale... rsrsr
falta muito para mim eh tempo... rsrsr
falta muito para mim eh tempo... rsrsr
GOSTEI 0