Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/03/2011, 22:20
Avatar de luisito1
luisito1
 
Fecha de Ingreso: junio-2009
Ubicación: Córdoba
Mensajes: 226
Antigüedad: 14 años, 11 meses
Puntos: 2
Problema con consulta en sql

hola amigos, les comento cual es mi problema a ver si alguno me puede ayudar.. resulta que yo necesito hacer la busqueda de personal tanto por nombre como por dni y como tengo que traer los mismos campos quiero usar el mismo procedimiento pero el problema es que nombre es de tipo varchar(50) y dni int ( y me dijeron que dni si o si tiene que ser tipo int).
bueno cuando busco por medio del dni me trae todo pero por medio dni me tira el erro ya que dice que tal nombre ej juan sanchez no es de tipo int.. la pregunta es la siguiente.. cual es el error en el procedimiento o es que directamente es imposible hacerlo en el mismo procedimiento???



Cita:
ALTER procedure [dbo].[obtenerhorariopersonalcargo]
@dni varchar(50)
as
select (p.nombre +' '+ p.apellido)as nombres, c.nombre, p.foto, d.descripcion, hpc.h_entrada, hpc.m_entrada, hpc.h_salida, hpc.m_salida,c.horas,p.nro from personal p
inner join personalcargos pc on p.id_personal = pc.id_personal
inner join cargos c on pc.id_cargo = c.id_cargo
inner join horariopersonalcargos hpc on c.id_cargo = hpc.id_cargo
inner join dias d on hpc.dia = d.dia
where (p.apellido +' '+ p.nombre)=@dni or (p.nombre +' '+ p.apellido)=@dni or @dni= p.nro


desde ya muchismas gracias