我需要一個查詢來比較一個表中的字符串列表與另一個表中的字符串列表。是否可以使用'NOT LIKE'%%'條件連接兩個表?
的僞代碼可能是:
for each word in slang
if not word.contains(animalName) {
print animalName
}
next slang
它並不一定要快,它不是生產。我試圖調試一些東西,查詢的結果就是我需要處理的東西。
謝謝。
我需要一個查詢來比較一個表中的字符串列表與另一個表中的字符串列表。是否可以使用'NOT LIKE'%%'條件連接兩個表?
的僞代碼可能是:
for each word in slang
if not word.contains(animalName) {
print animalName
}
next slang
它並不一定要快,它不是生產。我試圖調試一些東西,查詢的結果就是我需要處理的東西。
謝謝。
不包含一個動物名稱的所有俚語詞:
SELECT word
FROM slang
WHERE NOT EXISTS (
SELECT *
FROM animals
WHERE word LIKE '%'+ animalName + '%')
非常感謝。這會爲我節省很多時間。 – Louis
也許你可以將數據拉到每個表的.Net集合中,然後使用LNIQ來比較它們。
還是想知道,你在找什麼,但這個怎麼樣:
SELECT term AS word FROM slang
EXCEPT
SELECT animalName AS word FROM allAnimalNames
TSQL中沒有'MINUS' - 你可能是指'EXCEPT'? –
謝謝。 'MINUS'在MySQL中,我(錯誤地)認爲它在TSQL中也是一樣的。 –
@RobertMartin:你確定MySQL有'MINUS'嗎?附:我不認爲你的答案會奏效。 – onedaywhen
所以,它聽起來就像你有一個表Slang
和一個表Animals
,並且您希望Slang
不包含Animal
的所有組合。這是非常簡單的
SELECT s.Word, a.AnimalName
FROM Slang s INNER JOIN Animal a
ON s.Word NOT LIKE '%' + a.AnimalName + '%'
如果你只希望那些不喜歡的動物名稱的話,那麼你就需要選擇那些是然後反轉(但後來你怎麼確定哪些「單詞'與哪個'動物名稱'?]
SELECT Word FROM Slang WHERE Word NOT IN
(SELECT s.Word
FROM Slang s INNER JOIN Animal a
ON s.Word LIKE '%' + a.AnimalName + '%') words
我不明白你的僞代碼。 'slang'是數組的數組嗎?如果不是,你如何做'if(animalName不在字)',因爲這意味着'word'是一個數組?我認爲你的問題有一個錯誤。 –
我是「在SQL Server中儘可能做到的一切」的招貼小孩......但使用應用程序代碼會更容易。 – 2011-11-28 04:30:12
@Louis你可以包括一個例子,或更徹底地解釋你在做什麼?您的問題標題似乎與您的問題主體不匹配。 –