Hola de nuevo Kuriel:
Gracias por compartir la solución con el foro. Si alguien más tiene un problema similar esto seguro que le podrá servir.
Cuando te pedí que aclararas la duda con el registro en tu tabla folios era porque el resultado que estabas poniendo como salida no correspondía con lo que debería salir, puede ser por que eran datos de ejemplo y no datos reales, pero es importante que cuides este aspecto en un futuro. Si tomas los datos que pones de ejemplo y ejecutas la misma consulta a la que llegaste (solo quité los paréntesis que en realidad no sirven para nada y utilicé alias en las tablas) tienes lo siguiente:
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.23 sec)
-> (1, 10),(1, 20),(1, 11),(2, 10),(3, 20),(3, 11);
Query OK, 6 rows affected (0.07 sec)
+-----------+------------+
| OrdenPago | IDImpuesto |
+-----------+------------+
| 1 | 10 |
| 1 | 20 |
| 1 | 11 |
| 2 | 10 |
| 3 | 20 |
| 3 | 11 |
+-----------+------------+
Query OK, 0 rows affected (0.13 sec)
-> (11, 'Agua', 200, 2006),(20, 'Predio', 500, 2005);
Query OK, 3 rows affected (0.03 sec)
+------------+----------+----------+------+
| IDImpuesto | Concepto | Cantidad | Ano |
+------------+----------+----------+------+
| 10 | Agua | 300 | 2005 |
| 11 | Agua | 200 | 2006 |
| 20 | Predio | 500 | 2005 |
+------------+----------+----------+------+
-> ON F.IDImpuesto
=I.IDImpuesto
-> GROUP BY F.IDImpuesto
, I.Concepto
, I.Ano
+---------------+----------+------+
| SUM(Cantidad
) | Concepto
| Ano
| +---------------+----------+------+
| 600 | Agua | 2005 |
| 1000 | Predio | 2005 |
| 400 | Agua | 2006 |
+---------------+----------+------+
mysql>
En tu post inicial decías esto:
Cita: ¿Como hago para que una consulta me muestre lo siguiente?:
Ano / Concepto / Cantidad
2005 / Agua / 600 <-- se pago dos veces agua
2005 / Predio / 500 <-- solo se ha pagado una vez
2006 / Agua / 400 <-- igual se pago dos veces agua pero del 2006
Es por eso que yo te pedía que explicaras cómo habías obtenido el resultado y más aún anticipaba la respuesta correcta:
Cita: por lo tanto y a reserva de que nos expliques cómo estás sumando el resultado final debería ser un 1000 y no un 500 como expresas en tu post, quedando finalmente de la siguiente manera:
Código:
Ano Concepto cantidad
----------- ---------- -----------
2005 Agua 600
2005 Predio 1000
2006 Agua 400
En fin, me alegro que hayas encontrado la solución al problema por tu cuenta, después de todo resultó tal y como lo dije en el post:
Cita: solo sería cuestión de hacer un INNER JOIN y una SUMA, AGRUPANDO por los campos comunes.
NOTA: El ejemplo está en MySQL, porque en estos momentos no tengo acceso a ningún SQL Server, pero es válido también para este motor
Saludos
Leo.