Hola campeon, la unica es con un procedimiento almacenado, no entiendo cual es el proposito de tu necesidad pero me tome la tarea de hacer un segmento de codigo para resolverlo. Tendras una dificultad y es que si las longitudes de los nombres en una fecha es mas larga que el campo "nombres" te saldra un error al ejecutarse el procedimiento. No he probado si a la salida pueda haber un campo blob. Alguien puede decirnos si es posible ?.
Código SQL
[-]
CREATE TABLE PERSONA (
ID INTEGER NOT NULL,
NOMBRE VARCHAR(20) NOT NULL,
FECHA DATE NOT NULL
);
ALTER TABLE PERSONA ADD CONSTRAINT
PK_PERSONA
PRIMARY KEY (ID);
ALTER PROCEDURE SP_CUMPLEANEROS
RETURNS (
FECHA_REFERENCIA DATE,
NOMBRES VARCHAR(1024)
)
AS
DECLARE VARIABLE NOMBRE_PERSONA VARCHAR(20);
BEGIN
for select distinct fecha
from persona
order by fecha
into :fecha_referencia
do begin
nombres = '';
for select nombre
from persona
where fecha = :fecha_referencia
order by id
into :nombre_persona
do begin
if (nombres <> '') then
nombres = nombres || ', ';
nombres = nombres || nombre_persona;
end
suspend;
end
END;