Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/05/2010, 11:47
jamejilla
 
Fecha de Ingreso: enero-2009
Mensajes: 50
Antigüedad: 16 años
Puntos: 0
Ayuda con consulta HAVING COUNT(*) >= ALL(SELECT count(*)

Tengo las siguientes tablas:

modelo = @id_modelo,....
revista = @id_revista, fecha....

y una relacion N:M que las une llamada escribe.

La consulta que pretendo realizar dice: "Mostrar la fecha de las revistas junto al número de modelos en las que han participado más modelos como escritoras"

La consulta que estoy haciendo es esta:

SELECT fecha, count(*) AS numModelos
FROM revista
WHERE id_revista IN (SELECT id_revista
FROM escribe
GROUP BY id_revista
HAVING COUNT(*) >= ALL(SELECT count(*)
FROM escribe
GROUP BY id_revista));

Seguro que se puede hacer de otras maneras pero me interesa que sea más o menos como pone ahi (pero que funcione).

El error que me sale es:

SELECT fecha, count(*) AS numModelos
*
ERROR en línea 1:
ORA-00937: la función de grupo no es de grupo único

A ver si alguien me ayuda para que funcione. Gracias por adelantado