Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Ayuda con consulta sql

Estas en el tema de Ayuda con consulta sql en el foro de Bases de Datos General en Foros del Web. Hola foro tengo el siguiente problema, tengo las siguientea tablas: Tema (IdTema, Tema) Subtema (IdSubtema, Subtema) Pregunta (Id, Pregunta, Respuesta, IdTema, IdSubtema, Estado) necesito hacer ...
  #1 (permalink)  
Antiguo 16/05/2007, 07:53
 
Fecha de Ingreso: septiembre-2003
Mensajes: 251
Antigüedad: 21 años, 3 meses
Puntos: 0
Ayuda con consulta sql

Hola foro tengo el siguiente problema, tengo las siguientea tablas:
Tema (IdTema, Tema)
Subtema (IdSubtema, Subtema)
Pregunta (Id, Pregunta, Respuesta, IdTema, IdSubtema, Estado)

necesito hacer un query de forma tal que pueda desplegar la información de la siguiente manera:

TEMA: nombre_del_tema_1
SUBTEMA: nombre_del_subtema_1
Pregunta 1
Pregunta 2
....
SUBTEMA: nombre_del_subtema_2
Pregunta 1
Pregunta 2
....
...

TEMA: nombre_del_tema_2
SUBTEMA: nombre_del_subtema_1
Pregunta 1
Pregunta 2
....
SUBTEMA: nombre_del_subtema_2
Pregunta 1
Pregunta 2
....
...
espero puedan ayudarme, muchas gracias

Rafa
  #2 (permalink)  
Antiguo 17/05/2007, 09:15
 
Fecha de Ingreso: diciembre-2005
Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 19 años
Puntos: 2
Re: Ayuda con consulta sql

Hola,

Lo mejor en estos casos es usar GROUP BY.

En cualquier caso, ¿está subtema relacionado con tema? Si la relación es de padre a hijo, como dice la lógica, yo haría la siguiente estructura de tablas:

tema (idtema, tema)
subtema (idsubtema, idtema, subtema)
pregunta (idpregunta, idsubtema, pregunta, respuesta, estado)

y metes de Foreign key a subtema idtema, y de FK a pregunta idsubtema.



Luego haces la query. El problema que tienes es que si quieres imprimirlo como escribes vas a tener que utilizar la programación. Con SQL te va a imprimir tantas lineas como preguntas haya. Sería algo así:

select tema, subtema, pregunta from pregunta,tema,subtema where pregunta.idsubtema = subtema.idsubtema
and subtema.idtema = tema.idtema group by tema.idtema,subtema.idsubtema

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:16.