Du kannst mit einer redundanten Hilfstabelle arbeiten, die die konkatenierten Strings enthält. Über Trigger der Tabelle property_value_combination steuerst du den Inhalt. Im Einzelnen wird bei jeder Änderung der Tabelle der korrespondierende Eintrag der Hilfstabelle mit deiner Funktion neu erstellt. Dann hast Du die fertigen Strings ständig auf Lager und der Report geht dann ratzfatz.
Ich würde dem Kunden aber nur erklären, das dieser Wunsch eher ungewöhnlich ist und der Datenbankstruktur wiederspricht und das keine
DB-Struktur alle Anfragen in optimaler Zeit beantworten kann.
Falls Du einen Reportgenerator hast, den man erweitern kann (Skript-Enginge), könntest Du auch das Konkatenieren im Report selbst vornehmen.
Unter uns: 1 Sekunde für 10.000 Datensätze ist doch flott genug, oder nicht?
Das Bild hängt schief.