Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Como hacer una consulta mas pequeña

Estas en el tema de Como hacer una consulta mas pequeña en el foro de SQL Server en Foros del Web. Hola gente, una consulta quiero crear una funcion de busqueda x nombre, ape_pat, ape_mat... sucede que yo puedo buscarlo x 1 de ellos o de ...
  #1 (permalink)  
Antiguo 17/05/2009, 14:11
Avatar de jsr_17_7  
Fecha de Ingreso: febrero-2009
Ubicación: Lima
Mensajes: 105
Antigüedad: 15 años, 3 meses
Puntos: 0
Como hacer una consulta mas pequeña

Hola gente, una consulta
quiero crear una funcion de busqueda x nombre, ape_pat, ape_mat... sucede que yo puedo buscarlo x 1 de ellos o de 2 o los 3. Yo he hecho una consulta pero con IF pero es muy extensa, nose si habria otra forma de hacerla... x fa ayuda...


CREATE PROCEDURE BUSCA_EM
@NOM VARCHAR(50),
@APP VARCHAR(50),
@APM VARCHAR(50)
AS
IF (@NOM<>'')
BEGIN
SELECT @NOM= '%'+RTRIM(@NOM)+'%';
SELECT * FROM EMPLEADO WHERE VEMP_NOMBRE LIKE @NOM
END
IF (@APP<>'')
BEGIN
SELECT @APP= '%'+RTRIM(@APP)+'%';
SELECT * FROM EMPLEADO WHERE VEMP_APE_PAT LIKE @APP
END

...... luego coloca para k busque de dos...luego de 3...etc
  #2 (permalink)  
Antiguo 17/05/2009, 15:04
 
Fecha de Ingreso: agosto-2008
Mensajes: 13
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Como hacer una consulta mas pequeña

ALTER PROCEDURE BUSCA_EM
@NOM VARCHAR(50),
@APP VARCHAR(50),
@APM VARCHAR(50)
AS
SELECT @NOM= '%'+RTRIM(@NOM)+'%';
SELECT @APP= '%'+RTRIM(@APP)+'%';
SELECT @APM= '%'+RTRIM(@APM)+'%';

Select * From Empleado
Where NOMBRE Like @NOM AND APELLIDO_PATERNO LIKE @APP
AND APELLIDO_MATERNO LIKE @APM
GO

Podrías intentar con esto.
Saludos
  #3 (permalink)  
Antiguo 18/05/2009, 05:04
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Como hacer una consulta mas pequeña

Select * From Empleado
Where NOMBRE Like @NOM AND APELLIDO_PATERNO LIKE @APP
AND APELLIDO_MATERNO LIKE @APM
GO


El tema aquí sería si utilizar AND u OR, no?

Saludos
  #4 (permalink)  
Antiguo 18/05/2009, 10:05
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Como hacer una consulta mas pequeña

Creo entender que te pueden dar el nombre, y cualquiera de los 2 apellidos, paterno o materno y no sabes cual de los 2 tienes, bueno, yo he probado con esto y funciona

SELECT *
FROM Empleados
WHERE NOMBRE LIKE ISNULL(@piNOMBRE + '%', '%')
AND PATERNO LIKE ISNULL(@piPATERNO + '%', '%')
AND MATERNO LIKE ISNULL(@piMATERNO + '%', '%')
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:45.