que hay con GROUP_CONCAT
Tengo una tabla con dos campos (campo1 char 92 y campo2 char 10). El campo1 contendrá una lista de números separados por coma, y el campo dos el nombre por el que quiero agrupar.
Ej:
Fila 1: 10,03,04,12,14 unidad1
Fila 1: 06,05,08,11,14 unidad1
Fila 1: 14,08 unidad2
Fila 1: 09,06,08 unidad2
Fila 1: 19,24,14,19,26 unidad1
Fila 1: 30,03,09,22,14 unidad1
Necesito que los grupos contengan los números de las filas del campo1, pero sin repetir elementos, es decir, una lista con todos los números distintos que contiene ese campo en el grupo.
Si el campo tuviera un solo número se podría hacer con la función GROUP_CONCAT y su parámetro DISTINCT pero no es el caso
También he probado con lo siguiente:
Me cree esta función
CREATE FUNCTION `unicos`(cadena LONGTEXT)
RETURNS char(92) CHARSET utf8
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY INVOKER
COMMENT ''
BEGIN
SET @pos = 1;
SET @result = '';
SET @str= CONCAT(cadena, ',');
REPEAT
SET @item= SUBSTR(@str, @pos, 3);
IF LOCATE(@item, @result)= 0 THEN
SET @result = CONCAT(@item, @result);
END IF;
SET @pos = @pos + 3;
UNTIL @pos >= LENGTH(@str) END REPEAT;
RETURN SUBSTR(@result, 1, LENGTH(@result)-1);
END;
A la cal le paso como parámetro el resultado de la función GROUP_CONCAT sobre el campo1 pero esto me da un error.
Alguna otra sugerencia
No puedo usar subquery