Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/12/2011, 10:27
roigle111
 
Fecha de Ingreso: diciembre-2011
Mensajes: 26
Antigüedad: 12 años, 4 meses
Puntos: 0
Pregunta cuenta pero no todo

Buen dia les cuento que estoy tratando de armar una web de tipo autoayuda donde el usuario de cualquier provincia de la argentina va a poder publicar sus problemas y la gente podra comentarlos.
Cuando un problema se solucione pasara al estado "resuelto" mientras tanto esta en estado "sin resolver" esa es la idea. Ya arme la base de datos lo que necesito es que en la pagina principal se muestren todos los problemas "sin resolver", el titulo del problema, el detalle del problema, la fecha del problema, la cantidad de comentarios que tiene ese problema, el ultimo comentario registrado y que si no tiene comentarios tambien se vean.
Etuve probando muchas consultas SQL de las cuales la que mas se hacerca es esta que pongo abajo me agrupa por titulo del problema y me cuenta la cantidad de comentarios pero no me muestra los problemas que no tienen comentarios lo cual no me sirve les dejo la estructura de la base cualquier consejo ayuda o comentario les estare muy agradecido un saludo.

CREATE DATABASE dbprob
USE dbprob
CREATE TABLE usuario (
idusuario int(6) NOT NULL AUTO_INCREMENT,
mailus varchar(30) NOT NULL,
nombre varchar(20) DEFAULT NULL,
apellido varchar(20) DEFAULT NULL,
PRIMARY KEY (idusuario));
CREATE TABLE comentario (
idcomentus int(6) NOT NULL AUTO_INCREMENT,
fecha datetime NOT NULL,
coment text NOT NULL,
idprob int(6) NOT NULL,
PRIMARY KEY (idcomentus));
CREATE TABLE estado (
idestadoprob int(2) NOT NULL AUTO_INCREMENT,
estadoprob varchar(25) NOT NULL,
PRIMARY KEY (idestadoprob));
CREATE TABLE provincia (
idprovincia int(3) NOT NULL AUTO_INCREMENT,
provincia varchar(25) NOT NULL,
PRIMARY KEY (idprovincia));
CREATE TABLE tituloprob (
idtituloprob int(6) NOT NULL AUTO_INCREMENT,
tituloprob varchar(25) NOT NULL,
PRIMARY KEY (idtituloprob));
CREATE TABLE prob (
idprob int(6) NOT NULL AUTO_INCREMENT,
prob text NOT NULL,
fechaprob datetime NOT NULL,
idusuario int(6) NOT NULL,
idprovincia int(3) NOT NULL,
idtituloprob int(6) NOT NULL,
idestadoprob int(2) NOT NULL,
PRIMARY KEY (idprob));

select tituloprob.tituloprob, tituloprob.idtituloprob,
prob.prob, prob.idprob, prob.fechaprob,
comentario.fecha, comentario.coment, comentario.idprob, comentario.idcomentus,
prob.idestadoprob, prob.idprovincia,
count(*) as cantcoment
from tituloprob, prob, comentario
where
prob.idtituloprob = tituloprob.idtituloprob and
comentario.idprob = prob.idprob and
prob.idestadoprob = '1' and
prob.idprovincia = '1'
group by prob.idtituloprob
order by prob.idprob desc

// prob.idestadoprob = '1' (sin resolver)
// prob.idprovincia = '1' (tucuman)