2017-03-11 2 views
0

Ich möchte also zwei Wörter in der Spalte finden, aber nicht in der gleichen Zeichenfolge. Ich versuchteSo zeigen Sie Daten in einer Zeichenfolge an, die in der Spalte, aber nicht in der gleichen Zeichenfolge auftritt

Select * 
FROM TWEETS 
WHERE TWEET LIKE '%ZELDA% 
AND TWEET NOT LIKE '%GAME%'; 

Aber bei der Verwendung kann eine Lösung nicht erhalten.

EDIT:

Ich versuche, basierend auf dem Filter 'ZELDA' und 'LEGEND' bietet seine in dem Tweet abzufragen.

+4

Bitte bearbeiten Sie Ihre Frage und stellen Sie (1) Beispieldaten zur Verfügung; (2) gewünschte Ergebnisse; (3) das Tag für die von Ihnen verwendete Datenbank –

+1

Fügen Sie kein zweites 'where'-Schlüsselwort hinzu, es wird nur einmal in SQL benötigt. 'Wählen Sie * FROM TWEETS WO TWEET LIKE '% ZELDA% UND TWEET NICHT'% GAME% ';' Lesen Sie das Fehlerprotokoll des DB-Treibers, wenn eine Anweisung nicht wie vorgesehen funktioniert hat. Überprüfen Sie auch Ihr DB-Handbuch über Volltextsuche und Platzhalter, nicht alle DB-Software funktioniert gleich. – mch

Antwort

0

Ich denke, was Sie brauchen, ist so etwas wie

SELECT * 
FROM TWEETS 
WHERE (TWEET LIKE '%ZELDA%' AND TWEET NOT LIKE '%GAME%') OR 
     (TWEET LIKE '%GAME%' AND TWEET NOT LIKE '%ZELDA%'); 

Auf diese Weise können alle Zeilen auswählen, wo die Spalte TWEET das Wort ‚ZELDA‘ enthält und nicht das Wort ‚GAME‘ oder umgekehrt.

Verwandte Themen