Duvida quanto a uma consulta...

12/03/2008

0

Ola a todos!
Bom! Tenho um problema, dúvida de como fazer uma SQL que retorne o seguinte:
Possuo uma tabela de Respostas de Pesquisas, esta possui os campos: Sequencia, Pesquisa, Pergunta, Resposta e Pessoa. Ok. Em uma consulta de resultados tenho o seguinte problema: Retornar quntas pessoas responderam tal alternativa de certa pergunta(pergunta q pertence a tal pesquisa), dai dessas pessoas preciso retornar qual dessas respondeu tal alternativa de outra pergunta da mesma pesquisa.

Ex:
5 pessoas responderam a alternativa ´A´ da Pergunta 1

dessas 5 pessoas preciso saber qual delas respondeu a alternativa ´B´ da pergunta2.

se nao ficou claro posso tentar explicar melhor...

mas desd ja agradeço...
abraco


Signori

Signori

Responder

Posts

19/03/2008

Wanderok

Coloque um pequeno exemplo prático.


Responder

19/03/2008

Signori

Resolvido...

Realizo a consulta encima de uma pergunta...

select RESPOSTA  from TABRESPOSTA where PESQUISA = 1 and PERGUNTA = 1 and PESSOA = (select PESSOA from TABRESPOSTA where PESQUISA = 1 AND PERGUNTA = 3 AND RESPOSTA = A) instersect
(select PESSOA from TABRESPOSTA where PESQUISA = 1 AND PERGUNTA = 4 AND RESPOSTA = B)


+ ou - isso ai..
mas trouxe oq eu qeria..
alguma sugestão?

flw


Responder

20/03/2008

Edu2099

Veja se esta forma de realizar a query te ajuda:

CREATE TABLE #TABRESPOSTA (PESSOA VARCHAR(10), PESQUISA INT, PERGUNTA INT, RESPOSTA CHAR(1))

INSERT INTO TABRESPOSTA SELECT ´JOSE´, 1, 1, ´A´
INSERT INTO TABRESPOSTA SELECT ´MARIA´, 1, 1, ´A´
INSERT INTO TABRESPOSTA SELECT ´JOAO´, 1, 1, ´A´
INSERT INTO TABRESPOSTA SELECT ´MANOEL´, 1, 1, ´A´
INSERT INTO TABRESPOSTA SELECT ´FULANO´, 1, 1, ´C´

INSERT INTO TABRESPOSTA SELECT ´JOSE´, 1, 4, ´B´
INSERT INTO TABRESPOSTA SELECT ´MARIA´, 1, 4, ´A´
INSERT INTO TABRESPOSTA SELECT ´JOAO´, 1, 4, ´B´
INSERT INTO TABRESPOSTA SELECT ´MANOEL´, 1, 4, ´A´
INSERT INTO TABRESPOSTA SELECT ´FULANO´, 1, 4, ´C´

SELECT 
A.PESSOA, A.PERGUNTA, A.RESPOSTA, B.PERGUNTA, B.RESPOSTA
FROM 
TABRESPOSTA A INNER JOIN TABRESPOSTA B
ON
A.PESQUISA=B.PESQUISA
AND A.PESSOA=B.PESSOA
WHERE
A.PESQUISA = 1 

AND A.PERGUNTA = 1 
AND A.RESPOSTA = ´A´

AND B.PERGUNTA = 4
AND B.RESPOSTA = ´B´


Abraço!


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar