Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/09/2010, 09:45
tokkaido
 
Fecha de Ingreso: julio-2009
Mensajes: 90
Antigüedad: 15 años, 3 meses
Puntos: 4
UNION con filtrado

Hola, me gustaria si alguien puede echarme una manito con esto:

tengo la sgte consulta que me devuelve la union de 2 tablas (cuentas y subcuentas) en el orden correcto:

Código:
(SELECT cuenta,descripcion,minimo,maximo FROM cuentas) UNION 
(SELECT subcuenta cuenta ,descripcion,'-' minimo,'-' maximo FROM subcuentas)  
ORDER BY cuenta
la tabla subcuentas se relaciona con la tabla cuentas de la siguiente forma:

cuentas.id_interno = subcuentas.id_cuenta

cuando filtro por el numero de cuenta no tengo problemas haciendolo asi:

Código:
(SELECT cuenta,descripcion,minimo,maximo FROM cuentas WHERE cuenta = 6000)
UNION (SELECT subcuenta cuenta ,descripcion,'-' minimo,'-' maximo FROM 
subcuentas WHERE id_cuenta=(SELECT id_interno FROM cuentas WHERE
cuenta=6000 ))
ORDER BY cuenta
el problema está cuando quiero filtrar de la sgte manera:

Código:
(SELECT cuenta,descripcion,minimo,maximo FROM bdsistema.cuentas WHERE 
descripcion LIKE '%na%' ) UNION (SELECT subcuenta cuenta ,descripcion,'-' 
minimo,'-' maximo FROM bdsistema.subcuentas WHERE 
id_cuenta=(SELECT id_interno FROM cuentas WHERE descripcion LIKE '%na%' ) ) 
ORDER BY cuenta
porque la subconsulta (SELECT id_interno FROM cuentas WHERE descripcion LIKE '%na%' ) me devuelve más de una fila por lo que me produce un error.

como puedo hacer esta consulta de manera correcta¿

cualquier luz será agradecida
__________________
C[^L*]D
[email protected]
tokkaido.blogspot.com
No hay mejor forma de aprender que enseñar