11/08/2008, 17:04
|
| | 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. |