Попытка сделать то, что SQL-запрос (SELECT DISTINCT (first,second),third FROM table
) будет делать, но я делаю это с LINQ и datatable.Отличие от нескольких столбцов в datatable
EDIT
SQL должен выглядеть как Mysql
select first, second, third FROM table group by first, second
DataTable secondTable = new DataTable();
secondTable.Columns.Add("name", typeof(string));
secondTable.Columns.Add("date", typeof(string));
secondTable.Columns.Add("clockIn", typeof(string));
secondTable.Columns.Add("clockOut", typeof(string));
var t4 = (from a in firstTable.AsEnumerable()
select new
{
name = a.Field<string>("name"),
date = a.Field<string>("date"),
clockIn = a.Field<string>("clockIn"),
clockOut = a.Field<string>("clockOut")
}).Distinct();
var t5 = (from a in firstTable.AsEnumerable()
select new
{
name = a.Field<string>("name"),
date = a.Field<string>("date")
}).Distinct();
var t6 = (from d in t5
join a in t4
on new
{
d.name,
d.date
}
equals new
{
a.name,
a.date
}
select secondTable.LoadDataRow(
new object[]
{
d.name,d.date,a.clockIn,a.clockOut
}, false)).ToList();
ViewBag.Data = secondTable;
Что этот код делает это, он присоединяется к t4
и t5
в t6
без исключений. В то время как я хочу, все строки из t4
, которые присутствуют в t5
, должны присоединиться к t6
на основе (имя, дата). И все строки из t5
, которых не существует в t4
, должны быть исключены. Кто-нибудь может помочь?
Откуда взялась «firstTable»? – KaeL
@KaeL Представьте, что 'firstTable' является исходной таблицей. – Jogi
@KaeL во время отладки, я дважды проверял, 't4' и' t5' имеют в них нужные записи. Я делаю что-то не так с 't6'. – Jogi