FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Sumar y restar campos agrupados por otro campo
Buenas a todos,
Os escribo después de mucho buscar a ver si podéis iluminarme con mi problema. Lo intentaré exponer lo mejor posible, si necesitarais otra información me indicáis. Dada la siguiente tabla de ejemplo; TABLAMOVIMIENTOS: Cuenta--------Movimiento---Cantidad----Articulo Empresa 1------Entrada---------3-----------X Empresa 1------Entrada---------7-----------X Empresa 1------Salida-----------5-----------X Empresa 1------Entrada---------6-----------Y Empresa 1------Salida-----------3-----------Y Empresa 2------Entrada---------4-----------X Empresa 2------Entrada---------4-----------X Empresa 2------Salida-----------3-----------X Empresa 2------Entrada---------5-----------Y Empresa 2------Salida-----------1-----------Y Necesito realizar una sentencia SQL que me muestre el Total de cantidades restando de Entradas-Salidas y agrupadas por Cuenta según un artículo dado. Por ejemplo, Si lo hiciera para el artículo X, busco el siguiente resultado: Total Artículos X empresa 1 =3+7-5 = 5 Total Artículos X empresa 2 = 4+4-3 = 5 Lo mismo si hiciera la búsqueda para el artículo Y: Total Artículos Y empresa 1 = 6-3 = 3 Total Artículos Y empresa 2 = 5-1 = 4 Hasta ahora, he llegado a la siguiente sentencia SQL:
Tras ejecutarla no da error, pero el resultado no es el que quiero, para la tabla anterior me da siempre lo siguiente (sea cual sea al artículo), hace la suma-resta de toda la tabla y me da un totalizado por cuentas: Si lo hago para un artículo X: Total Artículos X empresa 1 = 3+7-5 +4+4-3 = 10 Total Artículos X empresa 2 = 3+7-5 +4+4-3 = 10 Y si lo hago para un artículo Y: Total Artículos Y empresa 1 = 6-3+5-1 = 7 Total Artículos Y empresa 2 = 5-1+6-3 = 7 También he probado la misma sentencia añadiendo el parámetro artículo el la suma, pero en ese caso, el resultado de la sentencia es ninguno:
Alguna idea para conseguir lo que busco?!?! Utilizo delphi XE2 Gracias por adelantado!!! |
#2
|
||||
|
||||
Buenas.
Para probar, partí de la siguiente estructura:
Solamente cambiando unos pequeños detalles a la original, para hacer más comprensibles las consultas. No dice qué motor de base de datos está utilizando; así que con uno convencional, bastaría con algo como: Es decir, condicionando la suma según el valor de un campo, para que tome valores negativos o positivos. Y ya. Se puede probar en ~ http://sqlfiddle.com/#!7/9d125/13 Pero, según sus mensajes anteriores sospecho que está utilizando Microsoft Access. Por lo que, averigüé por ahí que ese software no soporta la sentencia CASE usada anteriormente. Entonces, lo instalé en una máquina virtual desechable y aprendí a traducir a una consulta equivalente: En todo caso, es posible que obtenga los mismos resultados con un adefesio como: Que se podría llamar: la espeluznante franken-consulta. Pero, a cada quien con sus gustos. -
__________________
"constructive mind, destructive thoughts" |
#3
|
|||
|
|||
Muchas gracias Topx, esta tarde/ noche hago pruebas e informo del resultado.
Última edición por Casimiro Notevi fecha: 06-11-2017 a las 10:03:29. |
#4
|
|||
|
|||
Probado y funcionando a la perfección con SWITCH.
Muchisimas Grácias Topx!! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Sumar el valor de campos en campo calculado | fwhite | Varios | 3 | 21-02-2012 14:01:56 |
Restar/Sumar entre DBGrid's | Lenny | Varios | 5 | 02-07-2010 13:54:13 |
Restar, Sumar varios registros a la vez | Lenny | Varios | 2 | 28-05-2010 20:38:30 |
restar/sumar 3 meses a un datetimepicker | Milperrimo | Varios | 3 | 17-11-2007 00:50:16 |
Sumar y restar fechas | SMTZ | .NET | 3 | 28-11-2006 03:15:27 |
|