Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/04/2007, 17:18
Avatar de u_goldman
u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 2 meses
Puntos: 98
Re: oTRO select feo

Tendrias que especificar un poco mas la lógica de tu filtrado, y que valores puede tener, también si va a haber mas de una ocurrencia de un registro en cualquierda de las dos tablas.

Como yo lo veo así rápido, una tabla siempre tendrá un monto1 de 0 y monto2 mayor que 0, y la otra al revés, y de lo que se trata es hacer un JOIN. Si esto es cierto con un simple IF te basta:

Código:
SELECT a.campo1, a,campo2, a.campo3,
(CASE WHEN a.campo4 = 0 THEN (SELECT...) ELSE (SELECT...) END) AS monto1,
(CASE WHEN b.campo5 = 0 THEN (SELECT...) ELSE (SELECT...) END) AS monto2,
 FROM tbl_a a INNER JOIN tbl_b b ON
a.campo1 = b.campo1 AND a.campo2 = b.campo2 AND a.campo3 = b.camp02
No se, algo asi, pero de nuevo necesitarias ser mas explicito.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway