Я пытаюсь найти наиболее эффективный способ подсчета числа случаев, когда ключевое слово появляется в моей таблице документов на основе определенного списка идентификаторов документов, переданных в мою хранимую процедуру.SQL-подсчет вхождения ключевых слов в документе
Параметр SP принимает параметр @DocIds
в виде разделенного запятой списка, например. 100, 2010, 2340
Что я хочу сделать, это выбрать записи, где DocID существует в разделенном запятой списке, который я передаю и записывает ключевые слова во временную таблицу, но также сохраняю счет, если ключевое слово имеет уже добавлен в мою временную таблицу.
Так, например (документ таблицы):
DocID | Keywords
-----------------------------
100 | Test, Document, Info
2010 | Document, users
4 | ....
2340 | users, client
таблица Temp возвратит:
Keyword | Count
Test | 1
Document | 2
Info | 1
users | 2
client | 1
Я уверен, что некоторые SQL гуру имеет большое решение для этого, любая помощь будет принята с благодарностью ,
Большое спасибо M
Вы должны включить базу данных и версию, поскольку решения для разбора разделенных запятой полей сильно зависят от этого. –
Хороший вызов - я использую SQL Server 2008 – user1202263