Popular

Obten claves web y navega gratis Router keygen para Android

Error 403 Forbidden con phpmyadmin y WAMP Server

Realizar suma, resta y división con javascript

SQL: Concatenar varios registros de una columna en una sola cadena / concatenate strings from a column into a single string

En días pasados tuve que optimizar un procedimiento almacenado, por segunda ocasión ya que esté procedimiento almacenado, era necesario ejecutar n veces durante el día, el procedimiento almacenado llego a tardar 2 hrs ejecutándose entre muchos cambios al final el tiempo fue  de 1 minuto con 50 segundos, entre muchos cambios de los que se hice era quitar unos CURSORES los cuales concatenaban columnas mediante una consulta, por lo que.

Es probable que tengamos varios registros que pertenezcan a una misma columna o campo y los queremos concatenar para que la consulta sql nos devuelva un solo registro en esté campo tenemos algo así:

name
===========
Juan
Francisco
Erick
Y nosotros necesitamos obtener algo así: 
Juan, Franscisco, Erick
es decir, como si tuvieramos que trasponer la columna, pero sin complicarnos.
La solución es la siguiente:

DECLARE @valores VARCHAR(1000)
SELECT @valores= COALESCE(@valores + ', ', '') + name FROM tabla
select @valores as valores
La magia la hace el comando COALESCE que devuelve la expresión que no contenga el valor NULL entre sus argumentos.
De está manera podemos eliminar los CURSORES que son un poco pesados. 
Espero les sirva dejen sus dudas y comentarios. 

Comentarios

Entradas populares de este blog

Error 403 Forbidden con phpmyadmin y WAMP Server

Número de filas afectadas por instrucción PL/SQL en Oracle [Utilidades].

Como truncar un número decimal en C# sin redondear.