Concatenar resultados mysql

NeB1

Existe la posibilidad de, si una consulta mysql me devuelve:

nombre
pepe
marta
juan
alicia

hacer otra consulta que haga

concat(resultadosconsultaanterior)
pepe,marta,juan,alicia

Es decir, concatenar el resultado de la consulta anterior.

bLaKnI

Haces un:

SELECT CONCAT_WS(';', T.nombre)
FROM
( SELECT nombre FROM .......... ) AS T;

En el select, usas el concat_ws que te permite concatenar la columna que quieras (nombre aquí), con el separador que quieras (; aquí).
En el from, usas una subquery que devuelva solo 1 valor, es decir, tu lista de nombres. Debe ser así, porque tienes que saber QUE concatenas.

Deberia bastar, lo hago de coco... xD

NeB1

#2 eso había pensado yo antes, pero no vale, te hace una concatenación por cada "row" es decir, te devuelve el propio select xD

CONCAT_WS(';', t.nombre)
Modulo formativo de prueba
Ciclo Agua Vapor
Descripción de sistemas
vamos a probar a editar àèìòùáéíóú ñ
Turbinas de gas
Turbina de vapor

nombre
Modulo formativo de prueba
Ciclo Agua Vapor
Descripción de sistemas
vamos a probar a editar àèìòùáéíóú ñ
Turbinas de gas
Turbina de vapor

De todas formas esto es para lo que había posteado en el otro sitio, y al final lo he hecho de la otra forma. Aquí es que quería hacer un "PREPARE concatenarCosas FROM `CONCAT..." y hacerme una función que me sacase la concatenación esa para usarla de alguna forma en el otro select, una pequeña aberración de consulta, así que no hace falta que te calientes más el coco. Gracias por todo ^^

bLaKnI

;)
Aquí estamos! :)

Usuarios habituales

  • bLaKnI
  • NeB1