私は暗示的なタグ付けシステムを構築しています(怪しげに聞こえます)。文字列をデータベースに渡し、一致した場合はそのタグを送り返します。タグの重複をやめたいので、タグが1つWEBなら1回だけ返してほしい。したがって、タグとして WEB があり、WEEKLY を追加した場合、「WE」と入力しても、2 回目の候補として WEB が表示されません。
しかし、機能していないようです。現在のタグを送信し、NOT IN() を使用して重複を削除します。以下は SP コードです。
SELECT TOP 1 t.vTagName As vTagName
FROM Tags t
WHERE t.vTagName LIKE @vTagName+'%'
AND t.nTagPortalId = @nPortalId
AND t.vTagName NOT IN(@vCurrentTags)
ORDER BY vTagName ASC
get が渡されるのは次のとおりです。
EXEC GetTagSuggest 'We','Web,Print,Design,Advertising,Revenue'
このクエリに対する応答は、vTagName = Web です。明らかに、これは正しい結果ではありません。vTagName LIKE "We" NOT IN "Web, etc..."..
前もって感謝します!