apsel: Antworten-Award

Beitrag lesen

Om nah hoo pez nyeetz, Vinzenz Mai!

Ja, das geht. Nicht besonders performant, aber das geht. Vorausgesetzt, Du kennst die Benutzer:



> SELECT                         -- Gib mir
>     id,                        -- id
>     text,                      -- text und
>     'Alice' person             -- die Zeichenkette 'Alice' in einer Spalte,
>                                -- die "person" heißt
> FROM                           -- aus
>     tabelle                    -- meiner Tabelle
> WHERE                          -- wobei mich nur die Datensätze interessieren
>     owner LIKE '%Alice%'       -- bei denen irgendwo in der Spalte owner der
>                                -- Wert 'Alice' vorkommt
> [UNION](http://dev.mysql.com/doc/refman/5.0/en/union.html)                          -- und füge zur Ergebnismenge folgende
>                                -- Datensätze hinzu:
> SELECT
>     id,
>     text,
>     'Bob'                      -- hier interessiert uns "Bob"
>                                -- einen zweiten Namen können wir nicht
>                                -- vergeben ...
> FROM
>     tabelle
> WHERE
>     owner LIKE '%Bob%'
> UNION                          -- und so weiter und so fort ...
> -- ...
> 

Da ich nicht davon ausgehe, dass es sinnvoll ist, dass ein Benutzer bei der gleichen Aufgabe mehr als einmal eingetragen ist und in der Ergebnismenge nur einmal je Aufgabe aufgeführt werden sollte, sollte ein UNION DISTINCT (MySQL-Standardverhalten bei UNION) ausreichen.

Gibt es dort irgendwie eine Möglichkeit, dass ich MySQL sage, dass dieses den Inhalt der Spalte 'owner' anhand des Komma trennen soll und für jeden Substring eine neue Zeile generieren soll?

Jein. Dazu müsstest Du eine Stored Procedure verwenden. In einer solchen kannst Du mit einer Schleife durch den Inhalt einer Spalte durchlaufen und Zeichenkettenoperationen auf diese anwenden - und so die Ergebnismenge zusammenbauen und zurückgeben.

Kennst Du die eingetragenen Benutzer oder ist das reiner "Freitext"?

Freundliche Grüße

Vinzenz

wenn es einen Antworten-Award gäbe, wärst du ganz vorn. Und das meine ich ganz ernst und vor allem positiv.

Matthias

--
http://www.billiger-im-urlaub.de/kreis_sw.gif