Access - Problema con una consulta :(

 
Vista:

Problema con una consulta :(

Publicado por Alex (6 intervenciones) el 11/07/2013 16:50:09
Muy buenas tengo un problema:

Estoy haciendo una consulta para leer el numero de clientes nuevos que han solicitado alguna oferta en los 12 meses del año.

Tengo la siguente tabla:



La columna NuevoCliente me filta los clientes nuevos que han llegado a la empresa.
La columna FechaOferta es el dia que hemos recibido la solicitud de cliente
La columna Cliente muestra el nombre del cliente

Tengo la siguiente consulta:
1
2
3
4
5
6
TRANSFORM Count(Ofertas.Cliente) AS Numero
SELECT Count(Ofertas.Cliente) AS NumClientes
FROM Ofertas
WHERE (((Ofertas.NuevoCliente)=True))
GROUP BY Year([FechaOferta])
PIVOT Format$([Ofertas].[FechaOferta],'mmm') In ("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic");


El resultado de esta consulta es el siguente:



(NO se ve entera la imagen aqui, falta el mes de junio que no aparece que tiene numero 5) aqui podeis ver la imagen:
http://imageshack.us/a/img138/6102/vs31.jpg

Aqui es donde llega el problema: En el mes de Junio tengo 5 clientes, pero vemos claramente que el cliente 1 y 2 han hecho 2 ofertas, osea que han solicitado varios servicios. Como hacer que en vez de 5 aparezcan solo 3, osea solo contar un cliente independientemente del numero de ofertas que solicitado???

He intentado con DISTINCT, pero no lo he conseguido. Alguien puede ayudarme?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema con una consulta :(

Publicado por jose (830 intervenciones) el 11/07/2013 18:41:11
SALUDOS ALEX

Una solución que se me ocurre así sobre la marcha , que por supuesto no es la única ni posiblemente la mejor , pero que consiste en llegar ya a la consulta de referencias curzadas con los datos necesarios

para ello creariamos previament una consulta que me acote los parametros de la consulta y elimine los duplicados.
para eliminar los duplicados está la instruccion DISTINCT


1
2
3
4
SELECT DISTINCT Month([FechaOferta]) AS mes, Count(Ofertas.cliente) AS CuentaDecliente, Ofertas.NuevoCliente
FROM Ofertas
GROUP BY Month([FechaOferta]), Ofertas.NuevoCliente
HAVING (((Ofertas.NuevoCliente)=True));



AHORA hariamos la consulta de referencias cruzadas, partiendo en vez de una tabla, de la consulta creada.

.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con una consulta :(

Publicado por Alex (6 intervenciones) el 12/07/2013 02:36:48
Gracias por tu respuesta, podrias poner la consulta de referencias cruzadas para obtener la soluion que deseo porfavor!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar