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

problema en una consulta

Estas en el tema de problema en una consulta en el foro de Bases de Datos General en Foros del Web. Saludos dispongo de una base de datos mysql, y no consigo hacer la siguiente consulta, Tengo las siguientes tablas: Preguntas: numero // identificador de pregunta ...
  #1 (permalink)  
Antiguo 06/01/2004, 12:05
Avatar de linkses  
Fecha de Ingreso: agosto-2002
Ubicación: Sevilla - España
Mensajes: 785
Antigüedad: 22 años, 3 meses
Puntos: 0
problema en una consulta

Saludos dispongo de una base de datos mysql, y no consigo hacer la siguiente consulta,

Tengo las siguientes tablas:

Preguntas:
numero // identificador de pregunta
pregunta // pregunta en si

Respuestas:
numero // apunta al nº de pregunta
respuesta // respuesta en sí

como puedo mostrar las preguntas ordenadas por el nº de respuestas que hay, sin utilizar subconsultas (ya que mysql 4.0 no las soporta), debe mostrarse el nombre de la pregunta y el nº de respuestas

  #2 (permalink)  
Antiguo 06/01/2004, 18:28
Avatar de hpvalle  
Fecha de Ingreso: diciembre-2003
Ubicación: Nuevo Laredo, Tamaulipas
Mensajes: 32
Antigüedad: 20 años, 10 meses
Puntos: 0
Hola, quieres un conteo de la cantidad de respuestas relacionada a cada pregunta??
O quieres la pregunta con cada una de sus respuestas?
__________________
No hagas a los demas lo que no quieras que te hagan.
  #3 (permalink)  
Antiguo 06/01/2004, 20:49
 
Fecha de Ingreso: diciembre-2003
Mensajes: 53
Antigüedad: 20 años, 11 meses
Puntos: 0
Ok, no puedo probar las consultas, pero esto fue lo que se me ocurrió.

Pre (Tabla preguntas)
pre_ID
pre_Nombre

Res (Tabla respuestas)
res_ID
pre_ID
res_Nombre

SELECT pre.pre_ID, pre_Nombre, COUNT(res.pre_ID)
FROM pre,res
WHERE pre.pre_ID=res.pre_ID
GROUP BY pre_Nombre, pre.pre_ID

Espero te sirva

Saludos

Giorgio
__________________
EmpresasEnRed.com
Diseño Web
  #4 (permalink)  
Antiguo 07/01/2004, 06:18
 
Fecha de Ingreso: octubre-2003
Ubicación: Granada
Mensajes: 481
Antigüedad: 21 años, 1 mes
Puntos: 1
puedes probar lo q muy bien ha dicho giorgio pero tb puedes probar para ordenar muy bien el metodo order by elemento ASC
__________________
la duda es el principio del saber
  #5 (permalink)  
Antiguo 07/01/2004, 07:36
Avatar de linkses  
Fecha de Ingreso: agosto-2002
Ubicación: Sevilla - España
Mensajes: 785
Antigüedad: 22 años, 3 meses
Puntos: 0
Saludos

Gracias por la ayuda prestada, Giogio más o menos era como tu me decías, pero ahora me aparece el problema de que solo muestra las preguntas que tienen respuestas, mientras q yo quiero q tb aparezca las q no tienen, solo que este ordenado por el numero de respuestas

A ver si dais con ello
  #6 (permalink)  
Antiguo 07/01/2004, 10:52
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
SELECT pre.pre_ID, pre_Nombre, COUNT(res.pre_ID)
FROM pre LEFT JOIN res
ON pre.pre_ID=res.pre_ID
GROUP BY pre_Nombre, pre.pre_ID
  #7 (permalink)  
Antiguo 07/01/2004, 13:06
 
Fecha de Ingreso: diciembre-2003
Mensajes: 53
Antigüedad: 20 años, 11 meses
Puntos: 0
Linkses

Que bien que te funcionó(bueno, era por ahí la idea)
Checa lo de Teri, eso debe arreglar lo que pasa ahora

Saludos

Giorgio

Última edición por Giorgio; 07/01/2004 a las 13:22
  #8 (permalink)  
Antiguo 07/01/2004, 15:13
Avatar de linkses  
Fecha de Ingreso: agosto-2002
Ubicación: Sevilla - España
Mensajes: 785
Antigüedad: 22 años, 3 meses
Puntos: 0
Saludos,

más o menos funciona, pero falta un order by x ahi para ordenarlos por el nº de respuestas algo como ORDER BY COUNT(res.pre_ID), pero cuando hago eso, me da siempre error, no hay alguna otra opcion para mi problema.

Gracias por vuestra ayuda
  #9 (permalink)  
Antiguo 07/01/2004, 15:23
 
Fecha de Ingreso: diciembre-2003
Mensajes: 53
Antigüedad: 20 años, 11 meses
Puntos: 0
Tal vez con un alias

SELECT pre.pre_ID, pre_Nombre, COUNT(res.pre_ID) Respuestas
FROM pre LEFT JOIN res
ON pre.pre_ID=res.pre_ID
GROUP BY pre_Nombre, pre.pre_ID
ORDER BY Respuestas DESC

No se si le falte un "AS":
COUNT(res.pre_ID) AS Respuestas

Saludos

Giorgio
__________________
EmpresasEnRed.com
Diseño Web
  #10 (permalink)  
Antiguo 07/01/2004, 15:31
Avatar de linkses  
Fecha de Ingreso: agosto-2002
Ubicación: Sevilla - España
Mensajes: 785
Antigüedad: 22 años, 3 meses
Puntos: 0
Saludos

A si funciono

muchas gracias Giorgio, te lo agradezco
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 23:16.