---
title: "Ergebnis eines splits per if überschreiben oder verwerfen"
url: "https://www.typo3.net/d/90335-ergebnis-eines-splits-per-if-ueberschreiben-oder-verwerfen"
source: "typo3.net"
tags: ["TYPO3","TypoScript","Datenbank","Frage"]
created: "2009-06-08"
last_reply: "2009-06-08"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# Ergebnis eines splits per if überschreiben oder verwerfen

TYPO3 › TypoScript · 1 Antwort · gestartet 2009-06-08

## Eröffnungsbeitrag

**tulkas** · 2009-06-08 · [Beitrag #1](https://www.typo3.net/d/90335-ergebnis-eines-splits-per-if-ueberschreiben-oder-verwerfen/1)

Hallo miteinander,

folgendes Problem habe ich, ich scheitere daran, eine kleine Logikknobelei für eine Adressdatenbank in SQL oder TypoScript umzusetzen:

Ich habe eine Adressliste mit einem etwas komplizierten Gruppensystem. Es gibt drei Übergruppen (Einrichtung, Bereich, Funktion) die dann dementsprechende Untergruppen besitzen, z.B.

```plaintext
{ 
    Einrichtung: {
        Santa Maria Spital,
        Herz-Jesu-Stift,
        häusliche Pflege
    },
    Bereich: {
        Altenpflege,
        Krankenpflege,
        Jugendarbeit
    },
    Funktion: {
        Abteilungsleitung,
        EDV,
        Stationsleitung
    }
}
```

Eine mögliche Belegung wäre also: Herr Müller { Santa Maria Spital, Krankenpflege, Stationsleitung }.

Ich lass mir das ganze mit wfqbe als Tabelle darstellen. Es soll im Feld Bereich auch nur der Bereich (also bei Herr Müller Krankenpflege) angezeigt werden. Eine SQL-Abfrage auf das Feld fe_user.usergroup liefert aber natürlich das ganze Tripel zurück.

Meine erste Idee war, per SQL-Query die Gruppenbelegung des Adressdatensatzes mit der Untergruppenbelegung der jeweiligen Übergruppe abzugleichen und nur den Durchschnitt zurückgeben zu lassen, leider gibt es anscheinend keine Funktion zwei Listen miteinander zu vergleichen (oder ich habe sie nicht gefunden) und alle Workarounds erfordern viele JOINS und erscheinen wenig performant.

Nächste Idee, per TypoScript: Die SQL-ABfrage auf das Gruppen-Feld liefert ja eine kommaseparierte Liste mit den uids der Gruppen zurück, die wollte ich per split-Funktion zerlegen und mit dem jeweiligen fe_groups.title-Eintrag überschreiben. **Wie lässt sich der von split zurückgegebene Wert überschreiben?** Die TSRef verrät mir nur Möglichkeiten zum wrappen, aber ich tappe etwas im Dunkeln von welchem Datentyp split selbst ist.

## Antworten

### [#2](https://www.typo3.net/d/90335-ergebnis-eines-splits-per-if-ueberschreiben-oder-verwerfen/2) · tulkas · 2009-06-08

Ok, ich habs selbst gelöst, wie immer gilt: Kaffee hilft :).

Lösung des Problems:

```typoscript
plugin.tx_wfqbe_pi1.customProcess.4 {
	2 = COBJ_ARRAY
	2 {
		10 = TEXT
		10.value = ###WFQBE_FIELD_2###
		10.split {
			token = ,
			cObjNum = 1
			1 {
				10 = CONTENT
				10.table = fe_groups
				10.select {
					pidInList = xxxx
					andWhere.current = 1
					andWhere.wrap = uid=|
				}
				10.renderObj = COA
				10.renderObj {
					10 = TEXT
					10.field = title
					10.wrap = |<br />
				}
				if {
					isInList.current = 1
					value = {DB:fe_groups:xx:subgroup}
					value.insertData = 1
				}
			}

		}
	}
}
```

---

Quelle: „Ergebnis eines splits per if überschreiben oder verwerfen“, typo3.net, https://www.typo3.net/d/90335-ergebnis-eines-splits-per-if-ueberschreiben-oder-verwerfen
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
