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

Error Con Consultas con SQL en el Gestor de BD de Access

Estas en el tema de Error Con Consultas con SQL en el Gestor de BD de Access en el foro de Bases de Datos General en Foros del Web. Pues lo que pasa es que e tenido algunos problemas con unos SELECT en Access, he tratado todo pero aveces no me sale y aveces ...
  #1 (permalink)  
Antiguo 15/02/2012, 14:40
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Pregunta Error Con Consultas con SQL en el Gestor de BD de Access

Pues lo que pasa es que e tenido algunos problemas con unos SELECT en Access, he tratado todo pero aveces no me sale y aveces me sale pero no me arroja lo que quiero... Y pues lo que me piden es:
Un salon de bellza quiere sistematizar sus servicios, Cuenta con las siguientes entidades:
Clientes: Idcliente, Nombre, Apellido, Teléfono, Dirección, Sexo.
Servicios: Idservicio, Descripcion, ValorServicio.
Estilistas: Idestilista, Nombre, Telefono, Sexo.
DetalleServicios: Iddetalle, Idcliente, Idservicio, Idestilista, FechaServicio.

Lo que es la tabla Clientes, Servicios y Estilista tienen una relacion de uno a muchos con la tabla DetalleServicios. Y pues las consultas que pienso realizar son:

1. Numero total de clientes:
Código:
SELECT COUNT(*) AS Numero
FROM Clientes;
2. Valor total recaudado por servicios:
Código:
SELECT SUM(Servicios.ValorServicio) AS Total
FROM DetalleServicios, Servicios
WHERE DetalleServicios.Idservicio = Servicios.Idservicio
GROUP BY DetalleServicios.Idservicio;
Entonces cuando quiero poner:
Código:
SELECT SUM(Servicios.ValorServicio) AS Total Servicios.Descripcion
me sale error quisiera saber por que, para mostrar tambien los nombres...

3. Valor total por rango de fecha:
Código:
SELECT SUM(ValorServicio) AS Total
FROM DetalleServicios, Servicios
WHERE Servicios.Idservicio 
BETWEEN "30/07/2012" AND "02/10/2012";
Pero me arroja un numero mas alto, o sea que me repite como cuatro veces cada servicio que esta en el rango, por eso quisiera saber que esta mal...

4. Numero de servicios que se ha hecho un cliente en particular:
Código:
SELECT COUNT(Servicios.Idservicio) AS Veces
FROM Servicios, Clientes, DetalleServicios
WHERE DetalleServicios.Idservicio = Clientes.Idservicio AND Idcliente = "Yaniris";
Pero me sale error igual, quisiera saber en que estoy mal...

5. Que estilista atendió a un cliente en particular el dia 16/09/2012:
Y este por que no comprendo ya que tengo que realizar un SELECT en las tablas Clientes, DetalleServicios y Estilistas, peor no se como seria la condicion WHERE, para ver si me podrian ayudar con estos errores que me salen...
Se los agrade seria de antemano gracias...
  #2 (permalink)  
Antiguo 15/02/2012, 16:02
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Error Con Consultas con SQL en el Gestor de BD de Access

tarea???

SELECT SUM(Servicios.ValorServicio) AS Total,Servicios.Descripcion


Aqui necesitas relacionar tu tabla de servicios con la de detalleservicios en este caso
SELECT SUM(ValorServicio) AS Total
FROM DetalleServicios, Servicios
WHERE Servicios.Idservicio=detalleservicios.idservicio
and fechaservicio BETWEEN "30/07/2012" AND "02/10/2012";



Aqui lo que veo es que idcliente es donde se guarda el nombre del cliente?? no sera algo asi:
SELECT COUNT(Servicios.Idservicio) AS Veces
FROM Servicios, Clientes, DetalleServicios
WHERE DetalleServicios.Idservicio = Clientes.Idservicio AND Nombre= "Yaniris";


Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: access
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 17:50.