problema con una consulta

juanolas
23 de Octubre del 2003
Hola a todos-as, quisiera que alguien me dijese por que me falla una consulta de la siguiente manera
select count(*),campox
from tabla
where ......
el error que me salta es el suiguiente
"ha intentado ejecutar una consulta que no imcluye la expresion especificada 'campox' como parte de una funcion de agregado"
muchas gracias por su atencion

jasca
23 de Octubre del 2003
lo que pasa que estas usando una sentencia de agregación, y para el uso de esto es que se debe de usar la sentencia de agrupamiento.
la estructura es la siguiente:
select [campos]
from
[tabla]
where
[condicion]
group by
[campo de agregacion]
order by
[orden]

debes de poner los campos que se presentan sin ninguna operacion en la consulta, por ejemplo campox

esto cada vez que uses count,max,min,cube,etc...

entonces seria:
select count(*),campox
from tabla
where ......
group by
campox
order by camposx asc 'esto puedes obviarlo


Baltasar
23 de Octubre del 2003
Si lo que intentas es contar el número de registros que cumplen una condición, sólo necesitarías

SELECT count(*) as contador from . . . where condicion

y si lo que quieres es contar el número de registros con campox diferentes (que no se repita) entonces

SELECT count(*) as contador, campox from . . . where condicion . . . group by campox

lo de usar la forma ".. as contador " es poque me gusta darle nombre a los campos que devuelve un recordset.

Saludos