En Firebird puedes utilizar tambié LIST() para estos campos agregados:
Código SQL
[-]
SELECT P.APELLIDOS, P.NOMBRE, LIST(C.CARGO, ', ') AS LISTA_CARGOS
FROM PERSONA P, ELECTOS E, CARGOS C
WHERE
P.CODIGO = E.CODIGO AND
E.CODIGO = C.CODIGO AND
E.CARGO = C.CARGO
GROUP BY P.APELLIDOS, P.NOMBRE
Código SQL
[-]
APELLIDOS NOMBRE LISTA_CARGOS
------------------------------------------------------
ABARCA CHAPARRO PLACIDA 21
ABENGOZAR FERNANDEZ ARROYO MARGARITA 45
ABENGOZAR FERNANDEZ ARROYO MARIA JULIA 29, 21, 45
AGUADO MADRID INOCENCIA 21