powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ - получить строки с повторяющимися значениями
3 сообщений из 3, страница 1 из 1
LINQ - получить строки с повторяющимися значениями
    #39188324
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть DataTable
F1F2F3F41ИвановДмитрий1002СергеевДмитрий1003СергеевДмитрий5004ИвановВасилий1005ИвановДмитрий1006ИвановДмитрий200

Надо с помощью LINQ получить записи из этой, у которых повторяются значения F2, F3, F4. Записи должны включать ключевое поле F1 . Результат:

F1F2F3F41ИвановДмитрий1005ИвановДмитрий100

Пока смог получить только сгруппированные значения БЕЗ ключевого поля с помощью запроса:
Код: vbnet
1.
2.
3.
4.
5.
Dim qry = From t1 In Table1
          Group By F2 = t1("F2"), F3 = t1("F3"), F4 = t1("F4")
          Into grp = Group, Count()
          Where grp.Count() > 1
          Select grp



Не подскажете? После праздников голова не варит вообще!
...
Рейтинг: 0 / 0
LINQ - получить строки с повторяющимися значениями
    #39188411
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все, отбой. Нашел. Как-то так:


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Dim qry as Datatable = From t2 In Table1
          join t0 IN (From t1 In Table1
          Group By F2 = t1("F2"), F3 = t1("F3"), F4 = t1("F4")
          Into grp = Group, Count()
          Where grp.Count() > 1)
          on t0.F2 Equals t2("F2") And t0.F3 Equals t2("F3") And t0.F4 Equals t2("F4") 
          select t2



P.S. Только как-то коряво, по-моему...
...
Рейтинг: 0 / 0
LINQ - получить строки с повторяющимися значениями
    #39188579
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nibblesВсе, отбой. Нашел. Как-то так:


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Dim qry as Datatable = From t2 In Table1
          join t0 IN (From t1 In Table1
          Group By F2 = t1("F2"), F3 = t1("F3"), F4 = t1("F4")
          Into grp = Group, Count()
          Where grp.Count() > 1)
          on t0.F2 Equals t2("F2") And t0.F3 Equals t2("F3") And t0.F4 Equals t2("F4") 
          select t2



P.S. Только как-то коряво, по-моему...

Че за треш?

Код: c#
1.
var wanted_records = table1.GroupBy(x=> new{_f2=x.F2,_f3=x.F3,_f4=x.F4}).Where(x=>x.Count()>1).SelectMany(x=>x);



Пишу без студии - не обессудь!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ - получить строки с повторяющимися значениями
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]