Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка значений по двум полям одновременно 
:(
    Опции темы
swetik1981
Дата 26.1.2013, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 20.12.2007

Репутация: нет
Всего: нет



Имеется таблица, из которой необходимо выбрать только те строки, значения в одном из двух полей которых встречаются в некотором заданном массиве. Чтобы было понятней, привожу образец таблицы и массива:


Код

Table1

id     Field1      Field2

1      морковь     молоко
2      колбаса     картофель 
3      рыба        колбаса
4      капуста     яблоки 
5      свекла      морковь




Код

Array1

перец
огурцы
молоко
рыба
коЛбаса
пиво



Делаю выборку значений на совпадение по одному полю:

Код

Dim query= From dt in Table1 Join dt1 in Array1 On dt.Field(Of String)("Field1") Equals dt1 Select dt
Dim endTable=query.CopyToDataTable


выдаст:

Код

endTable

id     Field1      Field2

2      колбаса     картофель 
3      рыба        колбаса



Аналогично можно устроить поиск по второму полю:


Код

Dim query= From dt in Table1 Join dt1 in Array1 On dt.Field(Of String)("Field2") Equals dt1 Select dt
Dim endTable=query.CopyToDataTable


выдаст:

Код

endTable

id     Field1      Field2

1      морковь     молоко
3      рыба        колбаса




А как задать выборку, чтобы поиск значений осуществлялся одновременно под двум полям и получить в результате:


Код

1      морковь     молоко
2      колбаса     картофель 
3      рыба        колбаса


PM MAIL   Вверх
boevik
Дата 2.3.2013, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: нет
Всего: 35



Код

Dim query= From dt in Table1 
From dt1 in Array1 
Where dt.Field(Of String)("Field1") == dt1 || dt.Field(Of String)("Field2") Equals dt1 
Select dt



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема »


 




[ Время генерации скрипта: 0.0985 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.