Gast: Erstes Wort aus Aufzählung holen

Beitrag lesen

Tach,

danke für substring_index

Nun kann es vorkommen, dass im Feld A.sprachen nur eine Sprache steht. Also versuche ich den JOIN so:

LEFT JOIN  B
ON         B.kurz = if( SUBSTRING_INDEX(A.sprachen,',',1), SUBSTRING_INDEX(A.sprachen,',',1), A.sprachen )

Es gibt zwar keinen Fehler, aber irgendwas stimmt nicht, kann auch im auswertenden PHP- Code sein (bin noch am Suchen).

... es klingt für mich aber so, als wäre deine Datenstruktur schlecht.

Ja. Das Feld A.sprachen hatte ursprünglich nur eine Sprache, nämlich die der Beschreibung im selben Satz. Weitere Sprachen werden in einer Übersetzungstabelle geführt.

Um eine Übersicht zu haben, wieviel und welche Sprachen für diesen Satz vorliegen, habe ich alle in dieses Feld gestellt. Das muss ich zurückbauen, es ergibt sich ja durch den JOIN.

Gruß, Gast.