Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06/08/2009, 21:59
JoNhNaTaN
 
Fecha de Ingreso: febrero-2008
Mensajes: 54
Antigüedad: 16 años, 10 meses
Puntos: 0
De acuerdo Respuesta: Error con procedimiento - Cual es el verdadero error??

gracias Ezeyo88 y a todos, sus opiniones han ayudado a resolver mi problema y a examinar mas mi codigo con todas su sugerencias la solucion era simple...

me salia problema en esa linea con el as seleccion y lo q me faltaba era un select * from osea esto:
select * from (subconsulta de los dos cuerpos y con union) as seleccion order by....

osea mas completamente si alguien por aca requira el codigo...

Código SQL:
Ver original
  1. CREATE PROC BuscarCliente
  2.     @Nombre nvarchar(100)=NULL
  3. AS
  4. ----------- estas dos lineas me faltaban -----------------------------------------------------------
  5.         SELECT *
  6.         FROM
  7. --------------------------------------------------------------------------------------------------------------
  8.         (SELECT Clie_Tipo=
  9.         CASE Clie_Tipo
  10.                  WHEN 'J' THEN 'Juridico'
  11.                  WHEN 'N' THEN 'Natural'
  12.                  ELSE 'Tipo Incorrecto'
  13.         END,
  14.             (isnull(Clie_Nombre,'')+' '+isnull(Clie_Apellido,'')) AS NombreCliente
  15.             ,isnull(Clie_Domicilio,'')AS DomicilioCliente
  16.             ,isnull(Clie_Telefono,'')AS Telefono
  17.             ,isnull(Distri_Nombre,'')AS Distrito
  18.           FROM dbo.CLIENTE INNER JOIN
  19.           dbo.DISTRITO ON dbo.CLIENTE.Distri_Codigo = dbo.DISTRITO.Distri_Codigo
  20.         WHERE Clie_Nombre LIKE '%'+@Nombre+'%'
  21.     UNION
  22.         SELECT Clie_Tipo=
  23.         CASE Clie_Tipo
  24.                  WHEN 'J' THEN 'Juridico'
  25.                  WHEN 'N' THEN 'Natural'
  26.                  ELSE 'Tipo Incorrecto'
  27.         END,
  28.             (isnull(Clie_Nombre,'')+' '+isnull(Clie_Apellido,'')) AS NombreCliente
  29.             ,isnull(Clie_Domicilio,'')AS DomicilioCliente
  30.             ,isnull(Clie_Telefono,'')AS Telefono
  31.             ,isnull(Distri_Nombre,'')AS Distrito
  32.           FROM dbo.CLIENTE INNER JOIN
  33.           dbo.DISTRITO ON dbo.CLIENTE.Distri_Codigo = dbo.DISTRITO.Distri_Codigo
  34.         WHERE Clie_Apellido LIKE '%'+@Nombre+'%') AS seleccion
  35.         ORDER BY seleccion.NombreCliente ASC

tiene un poco de logica no??? no se como explicarlo pero si toda la consulta le pongo en una variable y le pongo un alias tonces no tiene sentido por q solo estoy cambiandole el nombre a una variable , tonces me falta hacerle una operacion a esa variable y recien puedo asignarle un alias, bueno asi maso lo entiendo...

muchas gracias a todos salu2