Несколько подобных условий для одного столбца в datatable.выбирать
Привет,
Мне нужно получить результаты из таблицы данных.Выберите, где этот столбец содержит длинную строку.
Пользователь выполняет поиск по нескольким терминам одновременно.
например
Если пользователь ищет как инъекционный позвоночник ::
У меня есть 10 000 строк в столбце.
Теперь мне нужно показать строки, где он соответствует как инъекции, так и позвоночнику. Я не знаю, где эти 2 термина будут находиться в этой строке.
Итак, мне нужно использовать подобное условие. Я не уверен, как я могу использовать его. Ниже приведены восемь выборочных строк данных, из которых пользователь должен получить только первую строку и только вторую строку, в то время как другие все строки содержат инъекцию строки, но не позвоночник.
Injection/Aspiration of Spine, Diagnostic/Therapeutic Injection procedure, arterial, for occlusion of arteriovenous malformation, spine Injection, intralesional; up to and including 7 lesions Injection, intralesional; more than 7 lesions Subcutaneous injection of filling material (eg, collagen); 1 cc or less Subcutaneous injection of filling material (eg, collagen); 1.1 to 5.0 cc Subcutaneous injection of filling material (eg, collagen); 5.1 to 10.0 cc Subcutaneous injection of filling material (eg, collagen); over 10.0 cc Injection(s); single tendon origin/insertion
заранее спасибо.
Что я уже пробовал:
DataRow[] ProRow = MainDS.Tables["Table1"].Select("LDesc Like '%" + SearchTerm + "%' And Active = 1 and Type in('CPT')");
[no name]
Как вы определили, что позвоночник - это то же самое, что и позвоночник? Вам нужно определить свои бизнес-правила.
chowdary2005
Это опечатка. Это не проблема с бизнес-правилами. Поправил вопрос.
Sinisa Hajnal
вставьте % между любыми двумя словами в searchterm, которые не заключены в кавычки. Таким образом, для инъекции позвоночника вы получите %spine%injection%, и вам тоже нужно обратное
% инъекция%позвоночник%
Если они сгруппированы вместе цитатами "инъекция позвоночника", то вы ищете весь этот термин.
Вы также можете посмотреть на предложение NEAR в SQL server https://msdn.microsoft.com/en-us/library/ms142568.aspx и посмотрим, поможет ли это
chowdary2005
Спасибо брату за быстрый ответ. Но мне это нужно в DataTable.Выберите в C#, а не в SQL Server. Как бы то ни было, я попробовал следующий код на c#. но получаю ошибку, предусматривающую ваш отзыв.
строка фильтра = строка.Пустой;
for (int i = 0; i & lt; temp.Длина; i++)
{
filter = Фильтр + " % " + temp[i].ToString (). Trim();
}
фильтр = фильтр + "%";
Объекта datarow[] строку = MainDS.Столы["Таблица1"].Выберите ("LDesc like" + filter + " And Active = 1 и введите ('CPT')");
заранее спасибо.