Autor |
Nachricht |
labrar
Threadersteller
Dabei seit: 04.04.2006
Ort: -
Alter: 49
Geschlecht:
|
Verfasst Di 24.05.2016 09:12
Titel select Abfrage aus String |
|
|
Hallo liebes Forum
Folgendes Problem.
Ich habe eine SQL Tabelle in der ich verschiedene Keywörter abgelegt habe. Auch keywortketten mit bis zu drei Wörtern wie Namen von Prominenten z.B. "Matt Damon".
Jetzt möchte ich einen String nach exakt diesen Keywörtern durchsuchen. Und zwar so, dass wenn im Text Matt Damon steht mir dann nicht die ID des Tabelleneintrages Matt zurückgefeurt wird, sondern die von Matt Damon.
Mein Ansatz geht überhaupt nicht. Es kommt nichts zurück und gibt aber auch keine Fehler zurück.
Code: |
select id from keywords where 'Und Matt Damon kam zur Berlinale' like CONCAT('%', word ,'%') order by LENGTH(word) desc |
Auch ohne LENGTH kommt nichts zurück
Code: |
select id from keywords where 'Und Matt Damon kam zur Berlinale' like CONCAT('%', word ,'%') |
Was mache ich falsch?
Edit:
Um Missverständnissen vorzubeugen. Matt Damon war hier nur ein Beispiel. Tatsächlich soll ja jedes Wort aus der Tabelle zurückgegeben werden sofern es sich im String befindet. Ich will hier auch nicht die ganze Tabelle der Keywörter durchsuchen da die Abfrage ja entsprechend zügig gehen sollte.
Nochmal Edit da ich selber nicht vertsanden habe was ich da schreibe
Im Prinzip müsste die Abfrage das folgende machen:
select id from kewords where word like '%Und Matt Damon kam zur Berlinale%'
Ich könnte den String natürlich zerlegen und dann Stück für Stück abfragen. Aber das belastet die Datenbank unnötig.
Es soll eigentlich nix anderes werden als diese Hashtagsachen die es früher bei Facebook gab. Heute macht es sich Facebook einfacher und bindet die Hashtags nur noch oben vor den String. Ich aber möchte diese Hashtags gerne auch im Text als Link darstellen.
Eine weitere Alternative war schon beim speichern des Textes diese Hashtaglinks mitzuspeichern. Ist aber von dem her doof, da täglich neue Hashtags entstehen und ich dann schon gerne hätte wenn der jeweils angezeigte Beitrag dann auch daruf reagiert.
Ich denke das war verständlich. Danke
Zuletzt bearbeitet von labrar am Di 24.05.2016 09:27, insgesamt 2-mal bearbeitet
|
|
|
|
|
qualidat
Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht:
|
|
|
|
|
Anzeige
|
|
|
labrar
Threadersteller
Dabei seit: 04.04.2006
Ort: -
Alter: 49
Geschlecht:
|
Verfasst Mo 30.05.2016 08:35
Titel
|
|
|
Sorry war mein Fehler.
Mein beispiel:
Code: | select id from keywords where 'Und Matt Damon kam zur Berlinale' like CONCAT('%', word ,'%') [quote]
war vollkommen korrekt. Der Fehler lag wo ganz anders.
Trotzdem [/quote] | danke.
|
|
|
|
|
|
|
|
Ähnliche Themen |
[PHP/MySQL] String in SQL-Abfrage ?! wie ??
im string eine abfrage? ...
RegExp String zwischen 2 Zeichen in einem String entfernen
select-box option aktiviert select-box
[AS] String als Variable
[PHP] String -> date
|
|