Array
(
)

Duvida quanto a uma consulta...

Signori
   - 12 mar 2008

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

Wanderok
   - 19 mar 2008

Coloque um pequeno exemplo prático.

Signori
   - 19 mar 2008

Resolvido...

Realizo a consulta encima de uma pergunta...

#Código

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

Edu2099
   - 20 mar 2008

Veja se esta forma de realizar a query te ajuda:

#Código

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!