0

2 つのテーブルを含む DataSet があります。一方は他方にネストされていると見なされます。私が望むのは、ネストされていないことと、1 つのテーブルがあることだけです。.Merge() と LINQ はうまく機能していません。

メインテーブルがどのように見えるかのサンプルを次に示します

学籍    番号 ID
--------------------
123456789 1
654987321 2

ただし、これらのそれぞれには、次の表に対応する複数の行があります

ID    Col1    Col2など
----------------------
1 事実
1 事実
2 1 事実3 事実4 2 事実5 事実6

組み合わせてこんな感じにしたいのですが…

学生 ID列    1 列 2 ------------------------------- 123456789 事実 1 事実 2 123456789 事実 3 事実 4 654987321 事実5    事実 6




マージを試みるたびに、「ID」である主キーを複製できないというエラーが表示されます。マージは主キーに基づいているため(私は信じています)、削除できません。

2番目のテーブルに任意の数の列を含めることができるようにこれを汎用にしたいので、LINQを使用できません。そのために選択を機能させることができません。

更新: 私の解決策 2 番目のテーブルを新しいデータ テーブルに複製することになりました。次に、「student-id」という列を追加し、ID 列を削除します。メイン テーブルの検索結果の行をループし、それらを 2 番目のテーブルの行に関連付けました... 配列内のすべてのデータを結合し、最終テーブルに行を作成しました。

4

3 に答える 3

0

SQLで試してみましょう。

1 番目のテーブル = Table1 および 2 番目のテーブル = Table2 とします。

SQL:

Select
    X.student-id,Y.Col1,Y.Col2
From Table1 As X Inner Join Table2 As Y On Y.ID=X.ID

SQLでやってみると簡単にできると思います!!!

于 2013-07-02T20:21:36.530 に答える