| Autor | Beitrag | 
| Regan 
          Beiträge: 2157
 Erhaltene Danke: 72
 
 
 Java (Eclipse), Python (Sublimetext 3)
 
 | 
Verfasst: So 04.01.09 13:39 
 
Hallo,
ich programmiere gerade einen Blog. Ich habe dort eine Spalte "blog_tags"(VarChar(255)), die sämtliche Tags beinhaltet, die mit dem Eintrag vorhanden sind.
 Wenn der Nutzer nun einen speziellen Tag auswählt, dann sollen alle Beiträge angezeigt werden, die in den Blog-Tags den speziellen Tag haben.
 Wie sieht dazu die Abfrage aus? Ich habe es schon mit Like und dem Tag versucht, allerdings kommt dann immer kein Ergebnis heraus.
 
 MfG
 Regan
 | 
|  | 
| BenBE 
          Beiträge: 8721
 Erhaltene Danke: 191
 
 Win95, Win98SE, Win2K, WinXP
 D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
 
 | 
Verfasst: So 04.01.09 13:53 
 
Im Normalfall speichert man jeden Tag als eigenen Eintrag in einer Tabelle und verknüpft die einzelnen Blog-Posts.
 Zeig mal deine bisherige Abfrage (und Tabellenstruktur).
 _________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
 | 
|  | 
| Heiko 
          Beiträge: 3169
 Erhaltene Danke: 11
 
 
 
 
 | 
Verfasst: So 04.01.09 15:50 
 
Und wie sind die Tags getrennt? Mit Komma, Leerzeichen etc.? | 
|  | 
| Regan  
          Beiträge: 2157
 Erhaltene Danke: 72
 
 
 Java (Eclipse), Python (Sublimetext 3)
 
 | 
Verfasst: Mo 05.01.09 15:55 
 
Ich habe meine Like-Variante auf eine Match-Variante umgepolt. Die funktioniert allerdings genauso wenig.
 	  |  BenBE hat folgendes geschrieben  : |  	  | Im Normalfall speichert man jeden Tag als eigenen Eintrag in einer Tabelle und verknüpft die einzelnen Blog-Posts. | 
 Wir sind doch alle nicht ganz normal    .
 	  |  BenBE hat folgendes geschrieben  : |  	  | Zeig mal deine bisherige Abfrage (und Tabellenstruktur). | 
 Kommt sofort. Ich bekomme sogar einen Fehler! "Filme " ist hier mein Suchwort.
 	  | Zitat: |  	  | Erroneous Query.
 
 Query:
 
 SELECT blog_id, blog_title, blog_cat, blog_created_time AS blog_time, blog_poster_id AS poster_id FROM blog  WHERE match(blog_tags) against('filme') ORDER BY blog_created_time DESC
 
 Error:
 
 Can't find FULLTEXT index matching the column list
 | 
 	  |  Heiko hat folgendes geschrieben  : |  	  | Und wie sind die Tags getrennt? Mit Komma, Leerzeichen etc.? | 
 Durch Leerzeichen.
 Gibt es auch eine andere Möglichkeit? | 
|  | 
| DeddyH Ehemaliges Mitglied
 Erhaltene Danke: 1
 
 
 
 
 | 
Verfasst: Mo 05.01.09 16:22 
 
Normalisiere Deine DB und Du hast diese Probleme nicht.
 [edit] Beispiel:
 		                       Quelltext 
 									| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 14:
 15:
 16:
 
 | Tabelle Blogs:==============
 Blog_ID (PK)
 Titel
 ...
 
 Tabelle Tags:
 =============
 Tag_ID (PK)
 Bezeichnung
 ...
 
 Tabelle BlogTags:
 =================
 Blog_ID (FK)
 Tag_ID (FK)  //beide Schlüssel zusammen als PK
 |  Um nun die Blogs zu listen, in denen das Tag "filme" vorkommt, musst Du nur über die Zuordnungstabelle joinen.
 		                       SQL-Anweisung 
 									| 1:2:
 3:
 4:
 5:
 
 | SELECT B.BezeichnungFROM Blogs B
 JOIN BlogTags BT ON BT.Blog_ID = B.Blog_ID
 JOIN Tags T ON T.Tag_ID = BT.Tag_ID
 WHERE T.Bezeichnung = 'filme'
 |  [/edit] | 
|  | 
| Regan  
          Beiträge: 2157
 Erhaltene Danke: 72
 
 
 Java (Eclipse), Python (Sublimetext 3)
 
 | 
Verfasst: Mo 05.01.09 16:51 
 
Vielen Dank für deine Antwort.
 Das ist zwar schön und würde sicherlich funktionieren. Ich würde aber gern meine Variante anwenden wollen    . Auch dafür muss es ja eine Lösung geben. | 
|  | 
| DeddyH Ehemaliges Mitglied
 Erhaltene Danke: 1
 
 
 
 
 | 
Verfasst: Mo 05.01.09 16:57 
 | 
|  | 
| Regan  
          Beiträge: 2157
 Erhaltene Danke: 72
 
 
 Java (Eclipse), Python (Sublimetext 3)
 
 | 
Verfasst: Mo 05.01.09 18:09 
 
Nein    . Das wusste ich gar nicht, dass ich das machen muss, bzw. war mir dem gar nicht bewusst. Jetzt verstehe ich auch die Fehlermeldung    .
 Danke für die Hilfe    . | 
|  |