Hallo DB-Forum,
habe folgendes Problem: Ich schreibe zur Zeit an einem Programm, welches auch das Durchsuchen von vorhandener Musik ermöglicht. Durchsucht wird dabei Dateiname, Interpret und Titel.
Ich habe nun nach langem Testen immernoch keine richtige Syntax gefunden um perfekte Ergebnisse zu erzielen. Vorbild ist hierbei der MediaMonkey-Player (gibts sogar als eingeschränkte FreeWare-Version falls jemand schauen mag).
Mal ein Beispiel:
Dateiname: Zigeunerskat.mp3
Titel: Zigeunerskat
Interpret In Extremo
Bei meiner bisherigen Suchanfrage:
Nun muss ja jedes Attribut mindestens einen Suchbegriff enthalten. Bei der Suche nach "In Extremo" würde nun beispielsweise kein Ergebnis kommen, da die Lieder im Titel im Normallfall kein "In", "Extremo" oder gar "In Extremo" beinhalten.
Nun denkt man natürlich, mit dem einfachen Umdrehen von AND und OR ist es getan:
Aber auch hier passiert nicht viel, da nun der Dateiname, der Titel oder der Interpret "In", "Extremo" und "Zigeunerskat" beinhalten muss. Also wird das auch nichts.
Dieser Code:
ist in sofern nicht gut, dass er nun so ziemlich alle Lieder anzeigt, da lieder nicht selten ein "In" behalten.
Ich bin hier noch am verzweifeln. Irgendwas scheint MediaMonkey anders zu machen. Beispielsweise bei der Suche nach "In Ext" kommen sämtliche In Extremo Lieder als Ergebnis und zusätzlich einige Lieder in denen "In" vorkommt und "Extended". Aber alle Lieder, die nur ein "In" enthalten sind nicht in der Suche.
Brauche unbedingt Hilfe bei diesem Stückchen Code um meine Suche zu optimieren. Entweder kommen zu viel Ergebnisse, oder zu wenig.
Gruß,
0x3a_
habe folgendes Problem: Ich schreibe zur Zeit an einem Programm, welches auch das Durchsuchen von vorhandener Musik ermöglicht. Durchsucht wird dabei Dateiname, Interpret und Titel.
Ich habe nun nach langem Testen immernoch keine richtige Syntax gefunden um perfekte Ergebnisse zu erzielen. Vorbild ist hierbei der MediaMonkey-Player (gibts sogar als eingeschränkte FreeWare-Version falls jemand schauen mag).
Mal ein Beispiel:
Dateiname: Zigeunerskat.mp3
Titel: Zigeunerskat
Interpret In Extremo
Bei meiner bisherigen Suchanfrage:
Code:
SELECT * FROM musik WHERE (dateiname LIKE '%in%' OR dateiname LIKE '%extremo%' OR dateiname LIKE '%zigeunerskat%') AND (titel LIKE '%in%' OR titel LIKE '%extremo%' OR titel LIKE '%zigeunerskat%') AND (interpret LIKE '%in%' OR interpret LIKE '%extremo%' OR interpret LIKE '%zigeunerskat%')
Nun muss ja jedes Attribut mindestens einen Suchbegriff enthalten. Bei der Suche nach "In Extremo" würde nun beispielsweise kein Ergebnis kommen, da die Lieder im Titel im Normallfall kein "In", "Extremo" oder gar "In Extremo" beinhalten.
Nun denkt man natürlich, mit dem einfachen Umdrehen von AND und OR ist es getan:
Code:
SELECT * FROM musik WHERE (dateiname LIKE '%in%' AND dateiname LIKE '%extremo%' AND dateiname LIKE '%zigeunerskat%') OR (titel LIKE '%in%' AND titel LIKE '%extremo%' AND titel LIKE '%zigeunerskat%') OR (interpret LIKE '%in%' AND interpret LIKE '%extremo%' AND interpret LIKE '%zigeunerskat%')
Aber auch hier passiert nicht viel, da nun der Dateiname, der Titel oder der Interpret "In", "Extremo" und "Zigeunerskat" beinhalten muss. Also wird das auch nichts.
Dieser Code:
Code:
SELECT * FROM musik WHERE (dateiname LIKE '%in%' OR dateiname LIKE '%extremo%' OR dateiname LIKE '%zigeunerskat%') OR (titel LIKE '%in%' OR titel LIKE '%extremo%' OR titel LIKE '%zigeunerskat%') OR (interpret LIKE '%in%' OR interpret LIKE '%extremo%' OR interpret LIKE '%zigeunerskat%')
ist in sofern nicht gut, dass er nun so ziemlich alle Lieder anzeigt, da lieder nicht selten ein "In" behalten.
Ich bin hier noch am verzweifeln. Irgendwas scheint MediaMonkey anders zu machen. Beispielsweise bei der Suche nach "In Ext" kommen sämtliche In Extremo Lieder als Ergebnis und zusätzlich einige Lieder in denen "In" vorkommt und "Extended". Aber alle Lieder, die nur ein "In" enthalten sind nicht in der Suche.
Brauche unbedingt Hilfe bei diesem Stückchen Code um meine Suche zu optimieren. Entweder kommen zu viel Ergebnisse, oder zu wenig.
Gruß,
0x3a_