我的表格数据如下:
table 1:
Id CId Message
1 1 E:MMM
1 1 E:NNN
1 1 E:OOO
1 2 E:PPP
1 2 E:PPP
table 2:
Id CId Message
1 1 W:NNN
1 1 W:OOO
使用linq合并两个表后,我的输出表应该是: 结果表:
Id CId ErMessage WrMessage
1 1 E:MMM*E:NNN*E:OOO W:NNN*W.OOO
1 2 E:PPP*E:PPP
请帮助我如何实现。
答案 0 :(得分:3)
var q =
from t1 in
table1.GroupBy(g => g.ID).Select(g => new
{
ID = g.Key,
Message = string.Join("*", g.Select(v => v.Message).ToArray())
})
join
t2 in
table2.GroupBy(g => g.ID).Select(g => new
{
ID = g.Key,
Message = string.Join("*", g.Select(v => v.Message).ToArray())
}) on t1.ID equals t2.ID
select new
{
ID = t1.ID,
ErMessage = t1.Message,
WrMessage = t2.Message
};