2017-02-14 4 views
0

Sagen wir, ich habe eine Liste von Personennamen und eine Liste von URLs in sozialen Medien (die einen Teil der Personennamen enthalten könnten oder auch nicht).Übereinstimmender Inhalt in zwei verschiedenen Spalten - MySQL

Ich versuche zu sehen, ob der vollständige Name ist nicht in der Liste der URLs, die ich habe. Ich denke nicht, dass ein "nicht wie" hier funktionieren würde (weil die URL viele andere Zeichen hat, um ein Ergebnis zurück zu werfen), aber ich kann mir keine andere Möglichkeit vorstellen, dies anzugehen. Irgendwelche Tipps? Der nächstgelegene ich war von diesem finden konnte:

Matching partial words in two different columns

Aber ich bin nicht sicher, ob das hier zutrifft.

Antwort

0

Verwenden Sie einfach SELECT * FROM yourtable WHERE url LIKE '%name%'% bedeutet beliebige Zeichen auch Leerzeichen. Dann überprüfe einfach, ob es Zeilen zurückgegeben hat.

Von mysql doc:

% entspricht eine beliebige Anzahl von Zeichen, auch Null-Zeichen.

mysql> SELECT 'David!' LIKE 'David_'; 
-> 1 
mysql> SELECT 'David!' LIKE '%D%v%'; 
-> 1 

Also lassen Sie uns sagen, dass diese Ihre URLs in der Liste sind:
website.com/peterjohnson
website.com/jackmiller
website.com/robertjenkins

Dann, wenn Sie tun würde, :

SELECT * FROM urls WHERE url LIKE '%peter%' 

Es würde 1 Reihe zurückgeben.

Sie können auch NOT LIKE verwenden, damit Sie alle Zeilen erhalten, die den Namen nicht enthalten.

Verwandte Themen