Ver Mensaje Individual
  #6 (permalink)  
Antiguo 15/04/2013, 09:05
danikene
 
Fecha de Ingreso: marzo-2007
Mensajes: 59
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: Es posible colocar 0 en una consulta si falta un valor?

Leonardo Muy buen día, antes que nada quería disculparme contigo por 2 cosas, primero por no haber podido escribir antes pero estuve en cama, y segundo por no haber revisado el tema antes de cerrarlo y dar por solucionado mis lios existenciales :), nuevamente mil disculpas.

Dicho esto, amigo revisando detenidamente la consulta que me suministraste me arroja 90,339 filas cuando realmente la tabla de respuestas tiene 1471 repuestas y no me las esta agrupando. Estuve tratando de agrupar esta consulta de manera infructuosa.

Necesito una consulta que me ofrezca una respuesta tal como la que me muestras pero realmente pienso que lo estamos haciendo mal por que realmente los grupos y los subgrupos no corresponden con cada una de las preguntas.

Arriba coloqué una tabla temporal donde ya estan contabilizadas las respuestas pero me faltaria completar solamente con las preguntas nos respondidas. Ahora no se si olvidarme de esa tabla temporal y partir desde el inicio. Voy a colocar mis tablas para que puedas ver si mi analisis esta mal, por favor ayudame con esto please.

Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `pregunta` (
  2.   `idpregunta` INT(11) NOT NULL AUTO_INCREMENT,
  3.   `idencuesta` INT(11) NOT NULL,
  4.   `pregunta` text NOT NULL,
  5.   `p1` text NOT NULL,
  6.   `p2` text NOT NULL,
  7.   `p3` text NOT NULL,
  8.   `p4` text NOT NULL,
  9.   `grupo` tinyint(4) NOT NULL,
  10.   `subgrupo` tinyint(4) NOT NULL,
  11.   `activo` tinyint(4) NOT NULL,
  12.   PRIMARY KEY (`idpregunta`),
  13.   KEY `idpregunta` (`idpregunta`),
  14.   KEY `idencuesta` (`idencuesta`)
  15. );
  16.  
  17. CREATE TABLE IF NOT EXISTS `respuesta` (
  18.   `idrespuesta` INT(11) NOT NULL AUTO_INCREMENT,
  19.   `idcliente` INT(11) NOT NULL,
  20.   `idencuesta` INT(11) NOT NULL,
  21.   `idcolaborador` INT(11) NOT NULL,
  22.   `idpregunta` INT(11) NOT NULL,
  23.   `respuesta` INT(11) NOT NULL,
  24.   PRIMARY KEY (`idrespuesta`)
  25. ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1472 ;
  26.  
  27. CREATE TABLE IF NOT EXISTS `grupo` (
  28.   `idgrupo` INT(6) NOT NULL AUTO_INCREMENT,
  29.   `grupo` VARCHAR(100) NOT NULL,
  30.   `activo` tinytext NOT NULL,
  31.   PRIMARY KEY (`idgrupo`),
  32.   KEY `idgrupo` (`idgrupo`)
  33. ) ;
  34.  
  35.  
  36.  
  37. INSERT INTO `grupo` (`idgrupo`, `grupo`, `activo`) VALUES
  38. (1, 'Efectividad', '1'),
  39. (2, 'Confianza', '1'),
  40. (3, 'Modelaje', '1'),
  41. (4, 'Comunicación', '1'),
  42. (5, 'Adecuación del Estilo', '1'),
  43. (6, 'Autoliderazgo', '1');
  44.  
  45.  
  46. CREATE TABLE IF NOT EXISTS `subgrupo` (
  47.   `idsub` INT(11) NOT NULL AUTO_INCREMENT,
  48.   `idgrupo` tinyint(4) NOT NULL,
  49.   `sub` VARCHAR(100) NOT NULL,
  50.   `activo` tinyint(4) NOT NULL,
  51.   PRIMARY KEY (`idsub`),
  52.   UNIQUE KEY `idsub` (`idsub`)
  53. ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;
  54.  
  55. --
  56. -- Volcado de datos para la tabla `subgrupo`
  57. --
  58.  
  59. INSERT INTO `subgrupo` (`idsub`, `idgrupo`, `sub`, `activo`) VALUES
  60. (1, 1, 'Enfoque', 1),
  61. (2, 1, 'Responsabilidad', 1),
  62. (3, 1, 'Involucramiento', 1),
  63. (4, 1, 'Consecuencia', 1),
  64. (5, 2, 'Capaz', 1),
  65. (6, 2, 'Creible', 1),
  66. (7, 2, 'Conectado', 1),
  67. (8, 2, 'Consistente', 1),
  68. (9, 2, 'Satisfacción', 1),
  69. (10, 3, 'Ninguno', 1),
  70. (11, 4, 'Ninguno', 1),
  71. (12, 5, 'Persona a Persona', 1),
  72. (13, 5, 'Equipo', 1),
  73. (14, 6, 'Autonomía', 1),
  74. (15, 6, 'Fuentes de Influencia', 1);

Leo Please indícame si debo abrir otro post, pero echame una manito con esto, Gracias