modificacion consulta

31/10/2005 - 10:06 por Sonia | Informe spam
Tengo una consulta en sql donde saco para cada operadora, el num de
registros q tiene en una tabla, dadas 2 fechas.

La consulta es esta:

select telemarketing.operad, count(*) as num_muestras

from telemarketing

where (((telemarketing.fechas) between [desde] and [hasta]))

group by telemarketing.operad;

la tabla q gasto esta formada de esta manera:

fechas|operad|escritura|lectura|matematicas...

y ahora necesito ahcer lo mismo que tenia, pero desglosarlo en materias. Y
lo q no se es como contar solo los campos q no esten vacios, ya q habia
hecho el intento de hacerlo con la escritura de esta manera, pero me cueta
tb los campos vacios:

select telemarketing.operad, count(xescr1) as escritura, count(*) as
num_muestras

from telemarketing

where (((telemarketing.fechas) between [desde] and [hastal]))

group by telemarketing.operad;

sabeis como puedo resolver esto?

Gracias!
 

Leer las respuestas

#1 Miguel Egea
31/10/2005 - 10:18 | Informe spam
Puedes intentar usar algo así

Select telemarketing.operad, sum ( case when UnCampo is null then 0 else 1
end )
from Telemarketing
group by operad.

Espero que te sirva

Miguel Egea
Visita mi web http://www.portalsql.com
SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com
"Solid Quality Learning is the trusted global provider of advanced education
and solutions for the entire Microsoft database platform"


"Sonia" wrote in message
news:

Tengo una consulta en sql donde saco para cada operadora, el num de
registros q tiene en una tabla, dadas 2 fechas.

La consulta es esta:

select telemarketing.operad, count(*) as num_muestras

from telemarketing

where (((telemarketing.fechas) between [desde] and [hasta]))

group by telemarketing.operad;

la tabla q gasto esta formada de esta manera:

fechas|operad|escritura|lectura|matematicas...

y ahora necesito ahcer lo mismo que tenia, pero desglosarlo en materias. Y
lo q no se es como contar solo los campos q no esten vacios, ya q habia
hecho el intento de hacerlo con la escritura de esta manera, pero me cueta
tb los campos vacios:

select telemarketing.operad, count(xescr1) as escritura, count(*) as
num_muestras

from telemarketing

where (((telemarketing.fechas) between [desde] and [hastal]))

group by telemarketing.operad;

sabeis como puedo resolver esto?

Gracias!



Preguntas similares