![]() |
Dos sumas de diferentes campos en una tabla Hola! Llevo ya un tiempo intentando hacer una operación en la base de datos, pero no la consigo de ninguna forma... Tiene que ser una tontería, pero yo no lo saco (todos los comandos que he probado me dan error). La cosa es que tengo en una tabla el campo Consumo1 y el campo Consumo2, y lo que quiero es que me devuelva la suma de Consumo1 y Consumo2 de toda la tabla. Lo he intentado de varias formas, por ejemplo: SELECT (SELECT sum(consumo1) FROM gas WHERE distrito1="Madrid") AS q1, (SELECT sum(consumo2) FROM gas WHERE distrito2="Madrid") AS q2; Eso me devuelve la suma del consumo de esa ciudad en los dos distritos, pero por separado... y a mi me gustaría que me lo devolviese junto para después hacerle el order by y tenerlo ya ordenado por consumo de mayor a menor. He probado SELECT (SELECT sum(consumo1) FROM gas WHERE distrito1="Madrid") AS q1, (SELECT sum(consumo2) FROM gas WHERE distrito2="Madrid") AS q2 order by q1+q2; ¿Alguna idea? Muchas gracias :-) |
Re: Dos sumas de diferentes campos en una tabla puedes hacer algo así, pero tengo duda sobre la definición de distrito1 y distrito2 son campos distintos.. que me indicaran un lugar diferente para cada tupla? bueno mira Código PHP: saludos, |
Re: Dos sumas de diferentes campos en una tabla Perdón, creo que no me expresé bien :pensando: Lo que yo quiero es ir acumulando la suma del consumo1 + el consumo2, pero si el consumo2 es igual al consumo1, entonces en vez de acumular consumo1 + consumo2 en la cifra, quiero que se sume otro valor (10.000) Eso es lo que no se como hacer.... porque se puede poner SELECT consumos.consumo1, consumos.consumo2, (consumos.consumo1 + consumos.consumo2) as total_consumo, pero entonces sólo suma eso, r1+r2 siempre... a mi me gustaría que se sumara r1+r2 siempre que r1 <> r2, si r1=r2, entonces que se sume otra cantidad mayor. Con: SELECT consumos.consumo1, consumos.consumo2, (consumos.consumo1 + consumos.consumo2) as total_consumo, consumos.destrito1, consumos.distrito2 FROM consumos Where consumos.consumo1 <> consumos.consumo2 GROUP BY consumos.destrito1,consumos.distrito2 estaría haciendo que sólo sume los que sean iguales... pero faltaría sumar 10000 a los que fueran iguales.... Espero haberme explicado bien :risa: Muchas gracias! |
| La zona horaria es GMT -6. Ahora son las 06:40. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.