Título: SQL - Ayuda con StoreProcedure(SELECT) Publicado por: AlonsoCN en 4 Noviembre 2009, 02:36 am Buenas a todos :)
Mi duda es simple ;D eso creooo! :laugh: Bueno tengo un SP que es para buscar a un alumno por sus apellidos pero el problema es que cuando busco al alumno.. solo busca con 1 solo apellido (Apellido Paterno o Apellido Materno) pero si quiero buscar con los 2 apellidos... nada :( El Codigo que tengo hasta ahora es... Código: -- BUSQUEDA DE ESTUDIANTE POR APELLIDOS Creo que el problema es en el WHERE... no lo sé Gracias de antemano! :P Título: Re: SQL - Ayuda con StoreProcedure(SELECT) Publicado por: ^Tifa^ en 4 Noviembre 2009, 03:35 am Hola cielo :D
Mira si te fijas bien en tu SP, solamente pasas 1 solo parametro: Código
Y le pasas ese unico parametro a las 2 condiciones del WHERE: Código
Por ende el WHERE esta buscando en base a 1 solo parametro que posee el mismo valor :P para buscar por los 2 apellidos debes declarar 2 parametros y no 1 solo, y pasarle cada parametro a cada campo, por ejemplo: Código
Por lo que: Código
Ahi deberia buscarte por uno u el otro ;) PD: No se nada sobre T-SQL por ende puede que haya hecho mal la sintaxis al ejemplo de tu SP pero estoy segura que entenderas la propuesta que te hago. Un besote :-* Título: Re: SQL - Ayuda con StoreProcedure(SELECT) Publicado por: AlonsoCN en 4 Noviembre 2009, 03:49 am Hellooooooooouuuu ^TiFa^ ! :D
TiFa la razón por la cual estoy trabajando con un solo parámetro es por que los Apellidos del estudiante se ingresan en un solo TextBox... no puedo usar 2 TextBox para buscar por apellido por que en ese mismo textBox donde ingreso los Apellidos, también ingreso codigo del alumno para buscarlo (si quiero buscar por Apellido o Código eso depende de un CheckBox) Espero que me hayas entendido ^TiFa^ :) Saludos! :D Título: Re: SQL - Ayuda con StoreProcedure(SELECT) Publicado por: ^Tifa^ en 4 Noviembre 2009, 04:09 am Si ese punto lo entiendo, pero en tu tabla tu tienes 2 campos de Apellidos distintos, uno del padre, otro de la madre.
Citar EST_ApellidoPaterno AS ApellidoPaterno , EST_ApellidoMaterno AS ApellidoMaterno Lo cual esta bien, debe ser asi. Ahora como solo puedes utilizar en el formulario 1 textbox, tienes que buscar la manera en tu codigo (de cual sea el lenguaje que uses) de hacer un SPLIT de los 2 apellidos ingresados en ese textbox y guardarlos en un Array, dicho Array sera de 2 apellidos los cuales igual puedes pasarselos a tu SP declarandoles 2 parametros 1 por cada Apellido. Porque no puedes buscar por los 2 apellidos sino utilizas las condiciones de dicha busquedad, tienes que solicitar los 2 apellidos o realizar la busquedad en base a 1 solo apellido. Título: Re: SQL - Ayuda con StoreProcedure(SELECT) Publicado por: AlonsoCN en 4 Noviembre 2009, 06:25 am Eso de usar una array puede ser una solución... pero, encontré esta mejor! ;D
Ya arregle ese problema asi: Código: CREATE PROCEDURE USP_S_BUSCARESTUDIANTEAPELLIDO Gracias por tu ayuda ^TiFa^ :), siempre tu presente! ;D ¡GRACIAS! Saludos! ;) Título: Re: SQL - Ayuda con StoreProcedure(SELECT) Publicado por: ^Tifa^ en 4 Noviembre 2009, 20:49 pm No veo en que la clausula LIKE busque por los 2 apellidos :huh: :huh:
Que pasa si el apellido paterno es Lopez y el Materno es Ruiz y tu estas buscando en base a 1 solo Apellido en este caso Lopez asi: %Lopez% Eso es traeme todos los apellidos que tengan en su centro la palabra 'Lopez'... So no te entiendo :P Título: Re: SQL - Ayuda con StoreProcedure(SELECT) Publicado por: AlonsoCN en 4 Noviembre 2009, 22:56 pm jajajaja :P yo tampoco te entiendo a que te refieres :xD
pero TiFa cuando estoy buscando un apellido... digamos 'Calle Núñez' Si busco con 'Calle' = CORRECTO (encuentra) Si busco con 'Núñez' = CORRECTO Si busco con 'Calle Núñez' = CORRECTO Si busco con 'Calle Nunes' = INCORRECTO (no encuentra) Si busco con 'Núñez Calle' = INCORRECTO Si busco con 'Nu Ca' = INCORRECTO Como podrás ver solo encuentra al alumno con esas 3 maneras de ingresarlos... Eso quiere decir que funciona verdad? :rolleyes: Título: Re: SQL - Ayuda con StoreProcedure(SELECT) Publicado por: ^Tifa^ en 5 Noviembre 2009, 13:58 pm Ahh pos mira que bien, cuando te referias a 1 Textbox asumi que te referias a que solo se insertaba 1 solo apellido y no los dos juntos....
Aunque literalmente usando LIKE %Lopez Ruiz% funcione, yo habia asumido que era1 solo apellido %Lopez% pero si tu textbox accepta los 2 campos, yo me inclinaria mas por el array, los 2 parametros y el WHERE Apellido_Paterno = parametro1 OR Apellido_materno = parametro2 La razon? optimizacion ;) (solo si los 2 campos anteriores son indices) ya que la clausula LIKE filtra en todos los registros existentes y inexistente (NULL) de la tabla y si yo tengo 5 millones de registros.... ya tomas la idea. Pero si prefieres mantenerte con el LIKE ni modo :P Título: Re: SQL - Ayuda con StoreProcedure(SELECT) Publicado por: AlonsoCN en 5 Noviembre 2009, 18:45 pm por ahora siiiii :)
Gracias! Un Saludo ;D |