Buenas, estoy revisando una aplicación que hace un select a una base de
datos de la siguiente manera
SELECT A.CODIGO, A.FECHA, A.CEDULA, B.NOMBRE, C.DESCRIPCION
FROM DETALLE A, CLIENTE B, ARTICULO C
WHERE (A.CODIGO LIKE '%0074%'
OR CONVERT(CHAR(10),A.FECHA, 113) LIKE '%0074%'
OR A.CEDULA LIKE '%0074%'
OR isnull(B.NOMBRE,'') LIKE '%0074%'
OR isnull(C.DESCRIPCION,'') LIKE '%0074'
)
AND ( A.CEDULA *= B.CEDULA
AND A.CODIGO *= C.CODIGO)
La idea de este, es hacer un filtro por todos los campos donde me muestre
todas las coincidencias, en cualquiere campo, de un valor.
El problema es que deberia solo mostrarme 5 registros, pero me muestra
todos, no respeta el filtro
lo hice utilizando JOINS y funciona bien
SELECT A.CODIGO, A.FECHA, A.CEDULA, B.NOMBRE, C.DESCRIPCION
FROM DETALLE A
LEFT OUTER JOIN CLIENTE B
ON A.CEDULA = B.CEDULA
LEFT OUTER JOIN ARTICULO C
ON A.CODIGO = C.CODIGO
WHERE (A.CODIGO LIKE '%0074%'
OR CONVERT(CHAR(10),A.FECHA, 113) LIKE '%0074%'
OR A.CEDULA LIKE '%0074%'
OR B.NOMBRE LIKE '%0074%'
OR C.DESCRIPCION LIKE '%0074'
)
El problema es que no puedo modificar la aplicaciòn para que lo haga de esta
manera... alguien sabe porque puede estar sucediendo esto?
Leer las respuestas