Hallo Zusammen,
ich habe bereits recherchiert und leider keine passende Antwort gefunden.
Ich habe eine Tabelle: Notiz mit folgenden Spalten (id, text, createdBy).
Die ID wird automatisch hochgezählt.
Der Text besteht aus einem Text in dem Hashtags (ggf. auch mehrere) vorkommen (Beispiel: Dies ist mein Text und #meinHashtag vielleicht gibt es noch einen #weiterenHashtag).
createdBy: User ID des Users der den Eintrag erstellt hat.
Zudem habe ich eine Tabelle: Hashtag in der alle angelegten Hashtags festgehalten sind:
hashtag: #meinHashtag
Nun würde ich gerne alle Hashtags zum User ausgeben.
In diesem Fall wäre es, für das Beispiel oben:
#meinHashtag
#weiterenHashtag
Dies scheint sich prinzipiell einfach über LIKE lösen zu lassen:
SELECT * FROM hashtag
INNER JOIN notes ON
notes.text LIKE CONCAT('%#',hashtag.hashtag,'%')
AND notes.createdby = :userID
GROUP BY hashtag.hashtag
Leider wird hier eben nun auch ein
#abc
in einem
#abcdef
gefunden.
Ich habe es bereits mit REGEX versucht und auch mit der Volltextsuche. Leider konnte ich dies für diese Suchanfrage nicht erfolgreich umsetzen:
- Die Volltextsuche kann gezielt nach einem Hashtag erfolgreich suchen, sobald ich nun mehrere Hashtags übergeben will, scheitert es
- REGEX hat trotz korrekten Regulären Ausdruck nicht funktioniert.
Hat mir jemand einen Tipp?
Danke und Gruß
ich habe bereits recherchiert und leider keine passende Antwort gefunden.
Ich habe eine Tabelle: Notiz mit folgenden Spalten (id, text, createdBy).
Die ID wird automatisch hochgezählt.
Der Text besteht aus einem Text in dem Hashtags (ggf. auch mehrere) vorkommen (Beispiel: Dies ist mein Text und #meinHashtag vielleicht gibt es noch einen #weiterenHashtag).
createdBy: User ID des Users der den Eintrag erstellt hat.
Zudem habe ich eine Tabelle: Hashtag in der alle angelegten Hashtags festgehalten sind:
hashtag: #meinHashtag
Nun würde ich gerne alle Hashtags zum User ausgeben.
In diesem Fall wäre es, für das Beispiel oben:
#meinHashtag
#weiterenHashtag
Dies scheint sich prinzipiell einfach über LIKE lösen zu lassen:
SELECT * FROM hashtag
INNER JOIN notes ON
notes.text LIKE CONCAT('%#',hashtag.hashtag,'%')
AND notes.createdby = :userID
GROUP BY hashtag.hashtag
Leider wird hier eben nun auch ein
#abc
in einem
#abcdef
gefunden.
Ich habe es bereits mit REGEX versucht und auch mit der Volltextsuche. Leider konnte ich dies für diese Suchanfrage nicht erfolgreich umsetzen:
- Die Volltextsuche kann gezielt nach einem Hashtag erfolgreich suchen, sobald ich nun mehrere Hashtags übergeben will, scheitert es
- REGEX hat trotz korrekten Regulären Ausdruck nicht funktioniert.
Hat mir jemand einen Tipp?
Danke und Gruß
Kommentar