1

私のテーブルデータは次のようになります:

    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を使用して2つのテーブルをマージすると、出力テーブルは次のようになります。結果テーブル:

 Id   CId    ErMessage              WrMessage
 1     1     E:MMM*E:NNN*E:OOO      W:NNN*W.OOO
 1     2     E:PPP*E:PPP 

達成する方法を教えてください。

4

1 に答える 1

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
    };
于 2012-11-20T11:50:08.310 に答える