Código SQL:
Ver original
CREATE TABLE IF NOT EXISTS `pregunta` ( `idpregunta` INT(11) NOT NULL AUTO_INCREMENT, `idencuesta` INT(11) NOT NULL, `pregunta` text NOT NULL, `p1` text NOT NULL, `p2` text NOT NULL, `p3` text NOT NULL, `p4` text NOT NULL, `grupo` tinyint(4) NOT NULL, `subgrupo` tinyint(4) NOT NULL, `activo` tinyint(4) NOT NULL, PRIMARY KEY (`idpregunta`), KEY `idpregunta` (`idpregunta`), KEY `idencuesta` (`idencuesta`) ); CREATE TABLE IF NOT EXISTS `respuesta` ( `idrespuesta` INT(11) NOT NULL AUTO_INCREMENT, `idcliente` INT(11) NOT NULL, `idencuesta` INT(11) NOT NULL, `idcolaborador` INT(11) NOT NULL, `idpregunta` INT(11) NOT NULL, `respuesta` INT(11) NOT NULL, PRIMARY KEY (`idrespuesta`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1472 ; CREATE TABLE IF NOT EXISTS `grupo` ( `idgrupo` INT(6) NOT NULL AUTO_INCREMENT, `grupo` VARCHAR(100) NOT NULL, `activo` tinytext NOT NULL, PRIMARY KEY (`idgrupo`), KEY `idgrupo` (`idgrupo`) ) ; INSERT INTO `grupo` (`idgrupo`, `grupo`, `activo`) VALUES (1, 'Efectividad', '1'), (2, 'Confianza', '1'), (3, 'Modelaje', '1'), (4, 'Comunicación', '1'), (5, 'Adecuación del Estilo', '1'), (6, 'Autoliderazgo', '1'); CREATE TABLE IF NOT EXISTS `subgrupo` ( `idsub` INT(11) NOT NULL AUTO_INCREMENT, `idgrupo` tinyint(4) NOT NULL, `sub` VARCHAR(100) NOT NULL, `activo` tinyint(4) NOT NULL, PRIMARY KEY (`idsub`), UNIQUE KEY `idsub` (`idsub`)) ; -- -- Volcado de datos para la tabla `subgrupo` -- INSERT INTO `subgrupo` (`idsub`, `idgrupo`, `sub`, `activo`) VALUES (1, 1, 'Enfoque', 1), (2, 1, 'Responsabilidad', 1), (3, 1, 'Involucramiento', 1), (4, 1, 'Consecuencia', 1), (5, 2, 'Capaz', 1), (6, 2, 'Creible', 1), (7, 2, 'Conectado', 1), (8, 2, 'Consistente', 1), (9, 2, 'Satisfacción', 1), (10, 3, 'Ninguno', 1), (11, 4, 'Ninguno', 1), (12, 5, 'Persona a Persona', 1), (13, 5, 'Equipo', 1), (14, 6, 'Autonomía', 1), (15, 6, 'Fuentes de Influencia', 1);
Basicamente quisiera obtener esto
Código SQL:
Ver original
+-----------+-----------+-----------------------+-----------------------+----------------+ | Pregunta | respuesta | grup | sub | totalRespuesta | +-----------+-----------+-----------------------+-----------------------+----------------+ | 1 | 1 | Efectividad | Enfoque | 2 | | 1 | 2 | Efectividad | Enfoque | 1 | | 1 | 3 | Efectividad | Enfoque | 1 | | 1 | 4 | Efectividad | Enfoque | 0 | | 2 | 1 | Efectividad | Enfoque | 1 | | 2 | 2 | Efectividad | Enfoque | 2 | | 2 | 3 | Efectividad | Enfoque | 1 | | 2 | 4 | Efectividad | Enfoque | 0 | | 3 | 1 | Efectividad | Responsabilidad | 2 | | 3 | 2 | Efectividad | Responsabilidad | 1 | | 3 | 3 | Efectividad | Responsabilidad | 0 | | 3 | 4 | Efectividad | Responsabilidad | 1 | | 4 | 1 | Efectividad | Responsabilidad | 1 | | 4 | 2 | Efectividad | Responsabilidad | 1 | | 4 | 3 | Efectividad | Responsabilidad | 0 | | 4 | 4 | Efectividad | Responsabilidad | 2 |
Mi mayor acercamiento ha sido esto
Código SQL:
obteniendo solamente estoVer original
SELECT R.idpregunta, R.respuesta, COUNT( R.respuesta ) totalRespuesta, P.nsec, P.grupo, P.subgrupo, G.grupo AS grup, S.sub FROM colaborador C LEFT JOIN respuesta R ON C.idcol = R.idcolaborador LEFT JOIN pregunta P ON P.idpregunta = R.idpregunta LEFT JOIN grupo G ON G.idgrupo = P.grupo LEFT JOIN subgrupo S ON S.idsub = P.subgrupo WHERE R.idencuesta = '1' AND `P`.`grupo` >0
Código SQL:
Ver original
idpregunta respuesta totalRespuesta nsec grupo subgrupo grup sub 1 1 4 1 1 1 Efectividad Enfoque 2 2 2 2 1 1 Efectividad Enfoque 2 3 1 2 1 1 Efectividad Enfoque 2 1 1 2 1 1 Efectividad Enfoque 3 2 2 3 1 1 Efectividad Enfoque 3 3 1 3 1 1 Efectividad Enfoque 3 1 1 3 1 1 Efectividad Enfoque 4 2 2 4 1 1 Efectividad Enfoque 4 1 2 4 1 1 Efectividad Enfoque 5 1 2 5 1 2 Efectividad Responsabilidad 5 2 2 5 1 2 Efectividad Responsabilidad 6 1 1 6 1 2 Efectividad Responsabilidad 6 2 2 6 1 2 Efectividad Responsabilidad 6 4 1 6 1 2 Efectividad Responsabilidad 7 2 1 7 1 2 Efectividad Responsabilidad 7 1 3 7 1 2 Efectividad Responsabilidad 8 2 2 8 1 2 Efectividad Responsabilidad 8 1 2 8 1 2 Efectividad Responsabilidad 9 1 1 9 1 3 Efectividad Involucramiento 9 2 3 9 1 3 Efectividad Involucramiento 10 1 1 10 1 3 Efectividad Involucramiento 10 2 3 10 1 3 Efectividad Involucramiento 22 2 2 22 1 3 Efectividad Involucramiento 22 1 2 22 1 3 Efectividad Involucramiento 23 2 2 23 1 3 Efectividad Involucramiento 23 4 1 23 1 3 Efectividad Involucramiento 23 1 1 23 1 3 Efectividad Involucramiento 11 1 1 11 1 4 Efectividad Consecuencia
Mi Universo de encuestados en esta prueba son 4 personas, en el caso de la pregunta 1 las cuatro personas eligieron la primera opción por lo cual no puedo contabilizar 2, 3 y 4. Necesito obtenerlo para sacar porcentajes, Gracias por su ayuda