Ver Mensaje Individual
  #7  
Antiguo 05-06-2019
jsc jsc is offline
Miembro
 
Registrado: nov 2003
Posts: 144
Reputación: 21
jsc Va por buen camino
Mostrando el valor del campo de una tabla con DOS posibles valores en DOS columnas

Hola otra vez,

Gracias juniorSoft por haber dedicado parte de tu tiempo...

Hasta las pruebas que he llegado hacer, parece que he ENCONTRADO LA SOLUCION

Buscando, buscando pense que podrian ir los tiros por aqui (ejemplo sacado de: http://www.forosdelweb.com/f86/recup...-tabla-697316/

Una consulta sobre una tabla a la que se ejecuta un JOIN sobre si misma

Código SQL [-]
SELECT alumnos.nif, alumnos.nombre, t1.total totalpendientes
  FROM alumnos INNER JOIN
    (SELECT alumno, COUNT(*) total FROM examenes
      WHERE evaluado = FALSE GROUP BY alumno HAVING total >=1 )t1
         ON alumnos.nif = t1.alumno ORDER BY alumnos.nombre


La cuestion es que, tambien encontre este otro ejemplo en el que me he basado y he conseguido al parecer que funcione para mis objetivos: http://www.forosdelweb.com/f86/dos-c...r-sql-1047898/

Muestra dos columnas con valores diferentes para un mismo campo de una misma tabla

Código SQL [-]
SELECT reparaciones.id, F1.descripcion falla_representante, F2.descripcion falla_tecnicor
FROM reparaciones R 
    INNER JOIN falla F1 on R.falla_representante_ID_falla = F1.ID 
    INNER JOIN falla F2 on R.falla_tecnico_ID_falla = F2.ID

Aplicando digamos los dos ejemplos, la consulta me quedo de la siguiente manera
Por si alguien podria serle de utilidad...

Código SQL [-]
SELECT tblTC.PREGUNTA, RBIEN.OPCION, RMI.OPCION

FROM 

((SELECT RB.OPCION,RB.IDPREG,PB.IDRESPOK FROM (tbl_testCOMPLETADO AS TC INNER JOIN PREGUNTAS AS PB ON TC.idPREG = PB.idPREG) INNER JOIN RESPUESTAS AS RB ON PB.idPREG = RB.idPREG
WHERE tc.idtest=pidtest and rB.idresp=pB.idrespok and tc.miRespuesta <> pb.idrespok GROUP BY RB.OPCION,RB.IDPREG,PB.IDRESPOK)  AS RBIEN INNER JOIN

(SELECT RA.OPCION,RA.IDPREG,PA.IDRESPOK FROM (tbl_testCOMPLETADO AS TC INNER JOIN PREGUNTAS AS PA ON TC.idPREG = PA.idPREG) INNER JOIN RESPUESTAS AS RA ON PA.idPREG = RA.idPREG
WHERE TC.idtest=[pidtest] AND RA.idresp=tc.mirespuesta and tc.miRespuesta<>pa.idrespok GROUP BY RA.OPCION,RA.IDPREG,PA.IDRESPOK)  AS RMI ON RBIEN.IDPREG = RMI.IDPREG) INNER JOIN

tbl_testCOMPLETADO AS tblTC ON RMI.IDPREG = tblTC.IDPREG

GROUP BY tblTC.PREGUNTA, RBIEN.OPCION, RMI.OPCION;


En definitiva, pongo un resumen a groso modo de en lo que consistiria la consulta

Código SQL [-]
SELECT de tblP.Pregunta, RespBien.opcion, MiResp.opcion

FROM (
(select campos from tablaA inner join tablaB) inner join tablaC WHERE condiciones para OPCION CORRECTA GROUP BY campos) as RespBien
INNER JOIN
(select campos from tablaA inner join tablaB) inner join tablaC WHERE condiciones para LA OPCION QUE MARCO EL USUARIO(miRespuesta) GROUP BY campos) as MiResp )
INNER JOIN
tblP

GROUP BY tblP.Pregunta, RespBien.opcion, MiResp.opcion
Responder Con Cita