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 originalCREATE PROC BuscarCliente
@Nombre nvarchar(100)=NULL
AS
----------- estas dos lineas me faltaban -----------------------------------------------------------
SELECT *
FROM
--------------------------------------------------------------------------------------------------------------
(SELECT Clie_Tipo=
CASE Clie_Tipo
WHEN 'J' THEN 'Juridico'
WHEN 'N' THEN 'Natural'
ELSE 'Tipo Incorrecto'
END,
(isnull(Clie_Nombre,'')+' '+isnull(Clie_Apellido,'')) AS NombreCliente
,isnull(Clie_Domicilio,'')AS DomicilioCliente
,isnull(Clie_Telefono,'')AS Telefono
,isnull(Distri_Nombre,'')AS Distrito
FROM dbo.CLIENTE INNER JOIN
dbo.DISTRITO ON dbo.CLIENTE.Distri_Codigo = dbo.DISTRITO.Distri_Codigo
WHERE Clie_Nombre LIKE '%'+@Nombre+'%'
UNION
SELECT Clie_Tipo=
CASE Clie_Tipo
WHEN 'J' THEN 'Juridico'
WHEN 'N' THEN 'Natural'
ELSE 'Tipo Incorrecto'
END,
(isnull(Clie_Nombre,'')+' '+isnull(Clie_Apellido,'')) AS NombreCliente
,isnull(Clie_Domicilio,'')AS DomicilioCliente
,isnull(Clie_Telefono,'')AS Telefono
,isnull(Distri_Nombre,'')AS Distrito
FROM dbo.CLIENTE INNER JOIN
dbo.DISTRITO ON dbo.CLIENTE.Distri_Codigo = dbo.DISTRITO.Distri_Codigo
WHERE Clie_Apellido LIKE '%'+@Nombre+'%') AS seleccion
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