Ver Mensaje Individual
  #7 (permalink)  
Antiguo 04/11/2013, 08:34
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Como juntar dos valores de dos campos diferentes con una consulta

Cita:
Iniciado por GeriReshef Ver Mensaje
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;
Ordenado por expresiones? como?? :P
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me