Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/12/2013, 05:45
DandyCC
 
Fecha de Ingreso: junio-2012
Mensajes: 147
Antigüedad: 12 años, 4 meses
Puntos: 1
Duda con subconsultas

Muy buenas. Tengo la siguiente tabla

Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `tbl_comentarios` (
  2.   `idcomentario` INT(11) NOT NULL AUTO_INCREMENT,
  3.   `autor` INT(11) NOT NULL,
  4.   `fecha` datetime NOT NULL,
  5.   `contenido` VARCHAR(500) COLLATE utf8_spanish_ci NOT NULL,
  6.   `comentario_padre` INT(11) DEFAULT NULL,
  7.   PRIMARY KEY (`idcomentario`),
  8.   KEY `tbl_comentarios_fk_1` (`comentario_padre`),
  9.   KEY `tbl_comentarios_fk_2` (`autor`)
  10. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=9 ;

El atributo "comentario_padre" lo utilizo para almacenar respuestas a comentarios. Si es NULL es porque es un comentario "padre". Si no es NULL, llevará el "idcomentario" del comentario del que es respuesta.

Bien, pues quiero recuperar todos los comentarios "padre" de un usuario (atributo "autor") y que en esa misma consulta apareciera algún indicador de si ese comentario tiene o no respuestas. Esto lo podría hacer fácilmente en dos consultas, pero me parece mucho más óptimo hacerlo en una sola usando subconsultas. El problema es que no logro dar con algo que funcione :(

Me gustaría que el resultado de la consulta fuera más o menos así:

| idcomentario | fecha | contenido | respuestas |
| 2 | 25-07-2013| "lo_que_sea" | "SI" |
| 5 | 16-08-2013| "lo_que_sea" | "NO" |

Donde respuestas = "SI" indicaría que hay comentarios que tiene como "comentario_padre el idcomentario.

¿Cómo lo haríais?

Muchas gracias por anticipado.