Cita:
Empezado por mbguantay
Hola amigos
quisiera saber si alguno de uds sabe si con MySQl se puede hacer una consulta tipo:
SELECT id, nombre, ((SELECT SUM(IMPORTE) FROM tabla1) - (SELECT SUM(IMPORTE) FROM tabla2)) AS saldo
Algo parecido, no la tengo bien en claro a la consulta aún solo quiero saber si la operacion resta entre dos consultas es posible.
Gracias!!!
|
Claro que se puede >
Código SQL
[-]SELECT id, nombre, (SELECT SUM(IMPORTE) FROM tabla1) - (SELECT SUM(IMPORTE) FROM tabla2) AS Saldo From Tu_Tabla;
Observacion: La observacion que veo es que la columna
"Saldo" así como está en la consulta SQL anterior, pues
tendrá el mismo valor para todas las filas resultante de la consulta.
Hummm...
no sé pero a mi me parece que lo que estas tratando de hacer es hacerlo por cada ID o Nombre de la tabla principal("Tu_Tabla"), pues si es ese caso creo que las
sub-consultas donde se hacen la sumatoria deberían estar condicionadas con un Where
algo así:
Código SQL
[-]SELECT
id,
nombre,
(SELECT SUM(IMPORTE) FROM tabla1 t1 where T.id=t1.id_Referencia) - (SELECT SUM(IMPORTE) FROM tabla2 t2 where T.id=t2.id_Referencia) AS Saldo
FROM Tu_Tabla T;
De esa manera logramos que MySQL haga la subconsulta(columna
saldo) por cada
Id o fila diferente
.
Cabe destacar que
t1.id_Referencia y
t2.id_Referencia deberian ser campos de referencias(Foreign Key) a la tabla "Tu_Tabla", Es decir tanto la tabla "tabla1" como la tabla "tabla2" deberían estar relacionadas con la tabla "Tu_Tabla" con algun campo específico.
Saludos...