Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/11/2013, 01:37
GeriReshef
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Como juntar dos valores de dos campos diferentes con una consulta

Tengo una advertencia: yo he utilizado muchas veces este truco y solamente en este mes descubrí que tiene un bug cuando el conjunto esta ordenado por una expresión compuesta. Por ejemplo:
Código SQL:
Ver original
  1. DECLARE @variable VARCHAR(MAX);
  2. SELECT @variable=COALESCE(@variable + ' ', '') + dato FROM #temp ORDER BY dato+'';
  3. SELECT @variable AS campo;
(Con Order By dato funciona perfectamente y afortunadamente todos nuestros códigos en la producción estan ordenados por columnas y no por expresiones)
Según Microsoft este metodo no esta apoyado por ellos
y debemos utilizar el XML:
Código SQL:
Ver original
  1. DECLARE @variable VARCHAR(MAX);
  2. SELECT  @variable=(SELECT COALESCE(@variable,'')+' '+dato
  3.             FROM     #temp
  4.             ORDER BY dato+''
  5.             FOR XML PATH, TYPE).VALUE('.[1]','Varchar(Max)');
  6. SELECT @variable AS campo;
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog

Última edición por GeriReshef; 04/11/2013 a las 01:44