SQL - Concatenar dato sen consulta SQL

   
Vista:

Concatenar dato sen consulta SQL

Publicado por luis (1 intervención) el 07/04/2016 19:05:06
Buen Día.

Necesito ayuda con el caso expuesto abajo, espero puedan ayudarme, les agradezco de antemano.

Estoy realizando una consulta en donde involucro 4 tablas, con el fin de generar un reporte.

El reporte es de datos de unos terceros que manejo el problema es que un tercero puede que aparezca (1,2,3 o aveces 4 ) debido a su rol.

Eje.
104586321 Luis Pineros Proveedor

104586321 Luis Pineros Cliente

Lo que quiero es que en el reporte final solo aparezca 1 tercero y que en la misma linea estén los tipos de roles que tenga.

Eje.
104586321 Luis Pineros Proveedor,Cliente

Nuevamente Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Concatenar dato sen consulta SQL

Publicado por Jaison (3 intervenciones) el 07/04/2016 20:23:25
Buena tarde:

Espero que esto sea de ayuda:

SELECT documento, GROUP_CONCAT(cargo SEPARATOR ', ') AS 'Cargos'
FROM empleado
GROUP BY documento
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Concatenar dato sen consulta SQL

Publicado por Gonzalo (21 intervenciones) el 08/04/2016 19:19:24
Eso sirve sí y sólo si usa MySQL.

¿Qué DBMS estás utilizando?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Concatenar dato sen consulta SQL

Publicado por Jaison (3 intervenciones) el 08/04/2016 20:35:12
Utilizo MySQL, tengo entendido que para SQLServer la sintaxis es diferente:

SELECT documento, GROUP_CONCAT(cargo) AS cargos
FROM empleado
GROUP BY documento
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Concatenar dato sen consulta SQL

Publicado por leonardo_josue (877 intervenciones) el 08/04/2016 22:32:24
La función GROUP_CONCAT es exclusiva de MySQL, es por eso que Gonzalo comenta que funcionará sólo en este manejador de BD y nada más...

Es por eso que en este foro siempre le pedimos que se mencione con qué DBMS se está trabajando, ya que todos tienen diferencias importantes entre cada uno de ellos, de tal suerte que para SQL Server no es tan simple, sino que tienes que hacerlo con subconsultas, o con sentencias como STUFF:

1
http://stackoverflow.com/questions/17591490/how-to-make-a-query-with-group-concat-in-sql-server

De la misma manera Otros manejadores de BD's utilizan alternativas similares, aunque con nombres distintos. ORACLE por ejemplo utiliza la función LISTAGG para este mismo caso:

1
http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions089.htm#SQLRF30030

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar