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

como realizar la siguiente SQL

Estas en el tema de como realizar la siguiente SQL en el foro de Bases de Datos General en Foros del Web. Hola a to2, tengo la siguiente tabla Código: idresultado idusuario fecha nombreopcion comentarios 1 1 01/01/2005 opcion1 aiewopir 2 1 10/02/2005 opcion1 wopuepu 3 1 ...
  #1 (permalink)  
Antiguo 05/04/2005, 04:20
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 0
como realizar la siguiente SQL

Hola a to2,
tengo la siguiente tabla
Código:
 idresultado idusuario fecha nombreopcion comentarios 
1 1	 01/01/2005	 opcion1	 aiewopir
2 1	10/02/2005	 opcion1	 wopuepu
3 1	13/05/2005	 opcion1	 wopuepu
4 2	25/02/2005	 opcion1	 wwpeoepe
5 2	28/02/2005	 opcion1	 wrtghuu
6 2	10/03/2005	 opcion2	 oeirpowipo
quiero obtenrer : listado de usuarios que han realizado "n" veces una opcion:
ej: listado de usuarios que han realiado 2 veces la opción1, mostrando el resultado siguiente:
Código:
 
idresultado idusuario fecha nombreopcion comentarios
2	 1	 10/02/2005	 opcion1		wopuepu
5	 2	 28/02/2005	 opcion1		wrtghuu
que realizado la siguiente consulta pero con ella sola consigo obtener el num de veces que han realizado la opcion
SELECT distinct(idusuario), count(idusuario)
FROM tabla
where nombreopcion='opcion1'
group by idusuario
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #2 (permalink)  
Antiguo 05/04/2005, 05:27
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Solo te falta completar la condición de group by con:
select idusuario, count(*)
from tabla
where nombreopcion='opcion1'
group by idusuario
having count(*) = N

Si haces un group by, te sobra el distinct.
¿Quieres sacar tb el idresultado, fechay y comentarios?.

Un saludo.
__________________
Estoy contagiado de Generación-I
  #3 (permalink)  
Antiguo 05/04/2005, 05:44
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 0
Hola Vice, muchas gracias por tu respuesta,

lo he probado y sale lo que yo quiero! me has resuelto un gran problema.
Si es posible, también me gustaria obtener el resto de campos, pero si los pongo en la consulta al ser por ejemplo el idresultado un autonumero no obtego nada..
como puedo realizar la consulta para que tb me obtenga idresultado, fechay y comentarios¿?

muchas gracias
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #4 (permalink)  
Antiguo 05/04/2005, 06:34
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Realmente, no se puede, piensa que esos datos varían de una fila a otra, con lo cual no te haría la agrupación como la quieres. Pensándolo fríamente, ¿cual de los 3 idresultado del usuario 1 es el que quieres?, ¿cual de las tres fecha, comentarios?. Si podrías obtener el mayor/menor idresultado, fecha o comentario.
Un saludo.
__________________
Estoy contagiado de Generación-I
  #5 (permalink)  
Antiguo 05/04/2005, 08:05
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 0
ok gracias vice
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
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 05:55.