kapodde: Query mit NOT LIKE

Beitrag lesen

hi leute,

ich habe eine tabelle mit büchern in einer datenbank und habe dazu eine suchfunktion erstellt, die auch eigentlich ganz schön funktioniert. jetzt möchte ich die suche aber noch insofern erweitern, als das es möglich sein soll wörter explizit auszuschließen.
so möchte ich zum beispiel einen autoren finden können dessen name "ei" enthält, der aber nicht "steiner" heißt.

meine lösung( die allerdings nicht das gewünschte ergebnis liefert) ist folgende query:

SELECT ort,autor_nach,autor_vor,verlag,titel,year,isbn,id FROM Bestand WHERE (autor_vor LIKE '%ei%' OR autor_nach LIKE '%ei%' OR co_autor LIKE '%ei%') AND (NOT (autor_vor LIKE '%steiner%') AND NOT (autor_nach LIKE '%steiner%') AND NOT (co_autor LIKE '%steiner%'))

entgegen meiner erwartung liefert diese anfrage KEIN ergebnis. ersetze ich allerdings dir "AND"'s im negierenden teil durch "OR"'s erhalte ich zwar ein ergebnis allerdings auch die steiners. (das find ich auch logisch)

hat jemand eine ahnung worans liegt, oder kann mir zumindest jemand bestätigen, dass obige query zum ergebnis führen müsste und der fehler irgendwo anders steckt?