Cita:
Iniciado por gokufast
Si hay coincidencias!!!
La cuestion es esta:
- En la base Saldos en la tabla voluntario tengo un dato que es vol_cod=187, con
saldo 100.
- En la base UFV en la tabla voluntario tengo un dato que es vol_cod=187, con
saldo 550.
Quiere decir que tengo el mismo vol_cod en 2 lugares, pero con distintos saldos, osea el mismo socio tiene 2 cuentas. y en ambas cuentas cumple con la condicion que ser mayor a 2796 y mayor a 500.
En las coincidencias me salen todos esos socios que tienen 2 cuentas y que cumplen con las 2 condiciones y son 227 socios.
Ahora como hago puedo hacer lo siguiente?
Que solo me salga todos los socios que cumplen por lo menos una de las condiciones ( es por eso el cambio del AND por OR en saldo_us >= 500 AND saldo_ufv >= 2796 no?).
Y que ademas no me salgan los duplicados osea que el socio 187 que menciono antes solo me salga una vez, por una de sus cuentas no por ambas.
Espero haber sido claro, a veces me hago bolas explicando

Lo rojo es nuevo, si quieres que cumplan una u otra condicion luego tendras que poner OR no AND.
Tienes claro que con "saldo_us >= 500 AND saldo_ufv >= 279" el socio
187 que mencionas no va a aparecer nunca puesto que
NO cumple las dos condiciones.
Con "saldo_us >= 500 OR saldo_ufv >= 279" apareceria puesto que cumple una de las dos.
Pero con el join de los dos querrys que te proponia
gnzsoloyo cambiando AND por OR
tampoco saldria por que luego no se cumpliria la condicion del INNER JOIN puesto estaria en el resultado de una subconsulta y no en la otra.
Código:
SELECT
ufv.voluntario.vol_cod,
SUM(ifnull(ufv.voluntario.vol_depus, 0) - ifnull(ufv.voluntario.vol_retus, 0)) AS saldo_ufv,
SUM(ifnull(saldos.voluntario.vol_depus, 0) - ifnull(saldos.voluntario.vol_retus, 0)) AS saldo_us
FROM
ufv.voluntario INNER JOIN saldos.voluntario
ON ufv.voluntario.vol_cod = saldos.voluntario.vol_cod
GROUP BY
ufv.voluntario.vol_cod,
HAVING
saldo_ufv >= 2796 OR
saldo_us >= 500
Asi deberia salir, pero tambien te dará la info de la cuenta que no cumple puesto que ahora esta en el mismo registro, con el JOIN lo que estamos haciendo es juntar registro con registro. No te saldra duplicado pero te saldra la info de las dos cuentas en el mismo registro...
Quim