| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
inv Invitado
|
Publicado: Mar 16 Mar, 2004 8:53 pm Asunto: consulta sql |
|
|
tengo las siguientes tablas
cliente--> cedula, nombres
descuento--> id, fechapago, mesdescontado, placa, valor
vehiculos--> idcliente, placa
a cada cliente se le debe descontar 100.000 pesos mensuales por vehiculo. ese descuento puede ser el total de los cien mil o en dos cuotas de 50.000
como hago la siguiente consulta:
saber el total de lo que se debe del mes de febrero... mostrando nombres de las personas y cuanto debe.....los 50.000
si solo ha pagado una cuota o los cien si no ha pagado.
las tablas estan en access |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Mie 17 Mar, 2004 8:59 am Asunto: |
|
|
Primero que nada, por la estructura que veo de las tablas falta una relación o no soy capaz de verla. Vamos a ver si acierto con las relaciones: ¿Cédula contine la misma información que placa? Si es así, yo haría esto, y suponiendo que en mes descontado guardas el número de mes:
| Código: | SELECT SUM(valor)
FROM 'cliente' A, 'descuento' B, 'vehiculos' C
WHERE A.cedula = B.placa
AND A.cedula = C.placa
AND b.mesdescontado = 2 |
Con esto deberías sacar el total que se ha cobrado en ese mes. Como sabes el número total de registros de la tabla te bastaría con restar. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Vie 19 Mar, 2004 8:14 pm Asunto: |
|
|
ok angel......
pero asi como tu dices solo obtienes el total de lo que se debe... pero cuanto debe cada uno???
donde esta la lista de las persona que deben? |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Vie 19 Mar, 2004 8:22 pm Asunto: |
|
|
ahhhhhhhh se me pasaba por alto.....
la relacion es entre cliente y vehiculo por cedula->idcliente
vehiculo y descuento placa
..................... |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Dom 21 Mar, 2004 9:33 am Asunto: |
|
|
Si quieres saber el detalle de la deuda en vez de SELECT SUM, basta que hagas sólo SELECT:
| Código: | SELECT * FROM 'cliente' A, 'descuento' B, 'vehiculos' C
WHERE A.cedula = B.placa
AND A.cedula = C.placa
AND b.mesdescontado = 2 |
_________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
inv Invitado
|
Publicado: Vie 02 Abr, 2004 10:20 pm Asunto: |
|
|
| Código: | SELECT nombres, vehiculo.placa, sum(valor) AS debe
FROM descuento, cliente INNER JOIN vehiculo ON cliente.Cedula=vehiculo.idcliente
WHERE (vehiculo.placa=descuento.placa And descuento.mesdescontado=2) or (vehiculo.placa not in(select placa from descuento where mesdescontado=2))
GROUP BY nombres, vehiculo.placa
HAVING 100000-nz(Sum(valor),0)>=50000;
|
hey esta no deberia funcionar???? |
|
| Volver arriba |
|
 |
|