試圖做什麼SQL查詢(SELECT DISTINCT (first,second),third FROM table
)會做,但我用LINQ和數據表做。不同的數據表中的多列
編輯
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
和,沒有排除。雖然我想要的是從t4
出現在t5
中的所有行應該基於(名稱,日期)與t6
聯合,並且t5
中不存在於t4
中的所有行應排除在外。任何人都可以幫忙嗎?
'firstTable'從哪裏來的? – KaeL
@KaeL想象一下'firstTable'是原始表格。 – Jogi
@KaeL在調試的時候,我有雙重檢查,'t4'和't5'有他們想要的記錄。我只用't6'做錯了事。 – Jogi