vrushali katkade Ответов: 3

выберите различные значения из таблицы datatable


у меня есть чтение некоторого значения из базы данных в таблице данных в C#.NET.
в этой таблице данных содержится следующее значение
batch  tag     pcdatelogged
1      11   12-12-2012 11:35
1      12   12-12-2012 11:36
1      13   12-12-2012 11:37
1      14   12-12-2012 11:38
2      15   12-12-2012 11:39
2      16   12-12-2012 11:40
2      17   12-12-2012 11:41
2      18   12-12-2012 11:42

я хочу выбрать различные значения из datatable & display в сетку
batch  tag(last value)   pcdatelogged(min)   pcdatelogged(max)
1           14           12-12-2012 11:35    12-12-2012 11:38
2           18           12-12-2012 11:39    12-12-2012 11:42

я хочу, чтобы вышеприведенный вывод был в сетке


Заранее спасибо

3 Ответов

Рейтинг:
1

Member 8983639

выберите distinct * из datatablename


Рейтинг:
0

bluesathish

Привет врушали,
Попробуйте этот код, я думаю, что он будет полезен для вас.

ds.Tables["datatablename"].DefaultView.ToTable(true, "batch"); 
dt.DefaultView.ToTable(true, "batch");


Цитата:
где ds - это объект набора данных.


С уважением,
Bluesathish


vrushali katkade

спасибо за повтор ,а как насчет других столбцов, его единственный отличительный столбец batch

bluesathish

Тогда попробуйте вот это,
DataView view = новый DataView(таблица);
DataTable distinctValues = представление.ToTable(true, "Column1", "Column2" ...);

ссылка: http://stackoverflow.com/questions/1199176/how-to-select-distinct-values-from-datatable

Рейтинг:
0

Amir Mahfoozi

Вот одно из решений :

if OBJECT_ID('tempdb..#t') is not null
  drop table #t
select  * , ROW_NUMBER() over ( partition by batch order by batch, tag) no  into #t from  events

select s.batch, tag, min , max from 
(select max(no) no, MIN(pcdatelogged) min , MAX(pcdatelogged) max , batch from #t group by batch) s
join #t on #t.no = s.no and #t.batch = s.batch



Преобразуйте его в хранимую процедуру и извлеките данные с помощью подходящего источника данных.

Надеюсь, это поможет.