Vinzenz Mai: MySQL: Gemeinsame Basis von Strings ermitteln

Beitrag lesen

Hallo Michael,

Etwas gemischtes wie

Schnittblumen gebunden blau
Schnittblumen gebunden gelb
Kaktus mit Blüten in Topf

kommt nicht vor, aber ich kann eben leider nicht vorhersagen was es ist.

Hmm, Du könntest in etwa wie folgt vorgehen:

Ermittle das Minimum der Zeichenkettenlängen
Solange die Länge größer ist als 0 und es mehr als einen Datensatz gibt
  Wähle SUBSTR(Zeichenkette,1, Länge) GROUP BY SUBSTR(String, 1, Länge)
  Verringere die Länge um 1
Ende Solange
Daraus solltest Du die maximalen gemeinsamen erste Zeichenkette ermitteln können.

Anmerkung: Bei wenigen Datensätzen und langen Zeichenketten ist diese Art der Ermittlung sehr teuer und wenig ratsam. Eine Ermittlung in der API ist dann
wohl ressourcenschonender.

Grundsätzlich wäre es besser, die beiden Informationen getrennt zu speichern:

Basisbezeichnungen
  Erweiterungen

Freundliche Grüße

Vinzenz