Principales respuestas
Consulta con EXISTS no filtra resultados

Pregunta
-
buenas tardes, quisisera que me ayudaran con una consulta. Tengo dos tablas una persona y otra pasaporte2. Estan asociadas por un ID, quiero hacer una consulta en un solo bloque que compruebe si en la tabla pasaporte2 hay un determinado pasaporte y si esta, entonces que me traiga todos los datos de esa persona. Me diran porque no buscas directamente en personas si ya tienes un campo pasaporte? Porque en la tala pasaporte2 hay mas de un pasaporte, en caso de que una persona falsifico algun documento y es alli donde se guardan los adicionales. La habia hecho asi:
ALTER PROCEDURE SpBuscarPerson
@IdPer nchar (25)
AS
SELECT tblPersonasB.ID, tblPersonasB.Pasaporte, tblPersonasB.Nombres, tblPersonasB.Apellidos, tblPersonasB.Nacionalidad, tblPersonasB.FechaNacimiento
FROM tblPersonasB
WHERE EXISTS (SELECT tblPasaporte.ID,tblPasaporte.Pasaporte
FROM tblPasaporte INNER JOIN tblPersonasB ON tblPersonasB.ID=tblPasaporteA.ID
WHERE tblPasaporte.Pasaporte=@IdPer)Ejecutio el procedimiento, pasandole un codigo de pasaporte que esta en tblPasaporte y me trae es toda la tabla, no me filtra la persona unicamente.
Me podrian ayudar? grac
Respuestas
-
Hola,
Por que no probas con este codigo:
ALTER PROCEDURE SpBuscarPerson @IdPer nchar (25) AS SELECT tblPersonasB.ID, tblPersonasB.Pasaporte, tblPersonasB.Nombres, tblPersonasB.Apellidos, tblPersonasB.Nacionalidad, tblPersonasB.FechaNacimiento FROM tblPersonasB WHERE EXISTS (SELECT * FROM tblPasaporte WHERE tblPasaporte.Pasaporte=@IdPer and tblPersonasB.ID=tblPasaporteA.ID)
Carlos Ignacio Aguero. DBA SQL Server. Toda mi respeto al pueblo Peruano por la ayuda prestada en la guerra de Malvinas.
- Marcado como respuesta Roxseni miércoles, 24 de abril de 2013 20:34
Todas las respuestas
-
Hola,
Por que no probas con este codigo:
ALTER PROCEDURE SpBuscarPerson @IdPer nchar (25) AS SELECT tblPersonasB.ID, tblPersonasB.Pasaporte, tblPersonasB.Nombres, tblPersonasB.Apellidos, tblPersonasB.Nacionalidad, tblPersonasB.FechaNacimiento FROM tblPersonasB WHERE EXISTS (SELECT * FROM tblPasaporte WHERE tblPasaporte.Pasaporte=@IdPer and tblPersonasB.ID=tblPasaporteA.ID)
Carlos Ignacio Aguero. DBA SQL Server. Toda mi respeto al pueblo Peruano por la ayuda prestada en la guerra de Malvinas.
- Marcado como respuesta Roxseni miércoles, 24 de abril de 2013 20:34
-
-