Ver Mensaje Individual
  #10 (permalink)  
Antiguo 22/04/2008, 13:34
Avatar de gokufast
gokufast
 
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años, 1 mes
Puntos: 3
Re: Se pueden vincular 2 tablas en diferentes bases de datos en un query?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Entonces debemos concluir que si cruzamos las tablas resultandes de ambas consultas, realizadas por separado, debería haber puntos de coincidencia:
Código:
SELECT * 
FROM 
(SELECT 
  	ufv.voluntario.vol_cod AS VOL_COD,
  	SUM(ifnull(ufv.voluntario.vol_depus, 0) - ifnull(ufv.voluntario.vol_retus, 0)) AS saldo_ufv,
FROM
  	ufv.voluntario
GROUP BY
  	ufv.voluntario.vol_cod 
HAVING
  	saldo_ufv >= 2796 ) AS Tabla1
INNER JOIN 

(SELECT 
	saldos.voluntario.vol_cod as VOL_COD,
  	SUM(ifnull(saldos.voluntario.vol_depus, 0) - ifnull(saldos.voluntario.vol_retus, 0)) AS saldo_us
FROM
	saldos.voluntario
GROUP BY
	saldos.voluntario.vol_cod
HAVING
	saldo_us >= 500) AS Tabla2
USING(VOL_COD)
WHERE
saldo_us >= 500 AND saldo_ufv >= 2796
;
Si no se produce una coincidencia de esta forma, entonces es que ninguna tupla cumple con ambas condiciones a la vez.
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