2

dataTables に 2 つの csv ファイルを含むプロジェクトを行っています。それらを結合して新しいファイルに割り当てたいと考えています。BIN 列または BBL 列のみが固定され、その他は異なります。私はlinqについてあまり知らないので、この助けが必要です。解決策は次のようになります。

    if radioButton1.checked{
    join all the columns in dt1; //dt1 = dt1 + dt2
    }
    else if radioButton2.checked{
    join all the columns in dt2; //dt2 = dt2 + dt1
    }

ここで、radioButton1 の場合、BBL のように dt1 と dt2 に同じ列があり、dt1 には BBL の 4 つの行があり、dt2 には 5 つの行がある場合、最初の 4 つの一致は dt1 に存在しますが、5 番目の一致は新しいものであり、追加されますdt1 のこの行。radioButton2 の場合は、その逆です。

次の種類の sql クエリが役立つと思いますが、適切に解決できるかどうかはわかりません。

SELECT * FROM dt1,dt2 GROUP BY BBL

dt1とdt2に共通のものを追加すると確信していますが、dt2に余分な行がある場合、それが機能するかどうかはわかりません。

私を助けてください、ここであなたの真剣な注意が必要です。過去 4 日間、この問題に悩まされていますが、解決策はありません。どうぞよろしくお願いいたします。前もって感謝します。-サファン。

4

1 に答える 1

1

これを見て

var ret = from x in dt1.AsEnumerable()
    join y in dt2.AsEnumerable() on x.Field<int>("ID") equals y.Field<int>("ID") into z
    from y in z.DefaultIfEmpty()
    select new
    {
        ID = x.Field<int>("ID"),
        VAL = x.Field<string>("VAL")
     };
于 2012-07-20T18:33:43.957 に答える