04/11/2013, 08:34
|
| Colaborador | | Fecha de Ingreso: agosto-2006 Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 5 meses Puntos: 774 | |
Respuesta: Como juntar dos valores de dos campos diferentes con una consulta Cita:
Iniciado por GeriReshef 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 originalDECLARE @variable VARCHAR(MAX); SELECT @variable=COALESCE(@variable + ' ', '') + dato FROM #temp ORDER BY dato+''; 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 originalDECLARE @variable VARCHAR(MAX); SELECT @variable=(SELECT COALESCE(@variable,'')+' '+dato FROM #temp ORDER BY dato+'' FOR XML PATH, TYPE).VALUE('.[1]','Varchar(Max)'); 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 |