Ver Mensaje Individual
  #9 (permalink)  
Antiguo 30/05/2007, 09:06
Avatar de Andres95
Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años
Puntos: 38
Re: combinar 2 columnas

Ok, aunque se puede hacer en una sola sentencia select, creo que creando una funcion queda el codigo mas sencillo.

Código:
SELECT Nombre, dbo.ShowMovil(movil ,Telefono1 , Telefono2 ) as strMovil
From Tabla (nolock)
Where  len(strMovil) > 0
Código:
-- =============================================
-- Create scalar function (FN)
-- =============================================
IF EXISTS (SELECT * 
	   FROM   sysobjects 
	   WHERE  name = N'[dbo].[ShowMovil]')
	DROP FUNCTION [dbo].[ShowMovil]
GO

CREATE FUNCTION dbo.ShowMovil 
	(@Telefono1 varchar(20), 
	 @Telefono2 varchar(20),
    @Telefono3 varchar(20))
RETURNS varchar(20)
AS
BEGIN
    Declare @MovilResult varchar(20)
    Set @MovilResult = ''

    If len(isnull(@Telefono1,'')) > 0
    Begin
         If left(ltrim(@Telefono1), 1) = '6'
         Begin
             return  @Telefono1
         End
    End

    If len(isnull(@Telefono2,'')) > 0
    Begin
         If left(ltrim(@Telefono2), 1) = '6'
         Begin
             return  @Telefono2
         End
    End


    If len(isnull(@Telefono3,'')) > 0
    Begin
         If left(ltrim(@Telefono3), 1) = '6'
         Begin
             return  @Telefono3
         End
    End

    return @MovilResult
END
GO

-- =============================================
-- Example to execute function
-- =============================================
SELECT dbo.ShowMovil('999256897','656945632', '678456123')

GO
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.