Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/08/2008, 17:04
OscarH
 
Fecha de Ingreso: junio-2008
Ubicación: D.F.
Mensajes: 62
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: ORACLE comparar columnas entre 2 tablas

Que Tal,


En realidad no se como este el diseñado lo del test. A lo que yo entiendo es que tienes una tabla de respuestas
en donde me imagino que tienes como campos un identificador de test o algo así y luego una seríe de campos resp1, rep2 .. resp20
y luego otra muy similar pero solo que hay están las respuestas correctas no?


Si es así como lo estas manejando

Resultaría mejor hacerlo de la siguiente manera


CREATE TABLE PREGUNTAS( --LO QUE SE CONTESTO
ID_TEST NUMBER(10),
NUM_RESP NUMBER(3),
RESPUESTA VARCHAR2 O NUMBER)
/


CREATE TABLE REPUESTAS( -- LO CORRECTO
ID_TEST NUMBER(10),
NUM_RESP NUMBER(3),
RESPUESTA VARCHAR2 O NUMBER)
/



CON ESTO NO TENDRÍAS QUE COMPARAR 20 COLUMNAS CONTRA 20 COLUMNAS

SINO UNA CONTRA UNA.


SELECT P.ID_TEST, P.NUM_RESP, DECODE(R.RESPUESTA, P.RESPUESTA, 'REPUESTA CORRECTA', 'RESPUESTA INCORRECTA') AS RESULTADO
FROM PREGUNTAS P, REPUESTAS R
WHERE P.ID_TEST = R.ID_TEST
AND P.NUM_REP = R.NUM_RESP
/


Saludos.