0

こんにちは私は2つのSQLテーブルをマージして両方を同時に表示したいと思いますdatagridview。データセットにバインドすることで、これを1つを表示するように設定できますが、両方のテーブルに含まれる共通のID番号(たとえば)に基づいてこれら2つをマージするにはどうすればよいですか?

現在のdatagridview入力コード(関数には空の新しいDataTableが供給されます):

public void populateSingleDataGridView(DataTable dt,  DataGridView dg, string SN_DB_Name)
{
     string selectProgramString = "select * from " + SN_DB_Name;
     SqlDataAdapter sqlDataAdaptor = new SqlDataAdapter(selectProgramString,connectionString);
     dt.Locale = System.Globalization.CultureInfo.InvariantCulture;
     sqlDataAdaptor.Fill(dt);
     dg.DataSource = dt;
}
4

2 に答える 2

2

2つのテーブルを結合できます。

select table1.Field1 as GridColumn1, table2.Field2 as GridColumn2
from table1
    inner join table2
    on table1.CommonId = table2.CommonId

現在のコードをそのままにしておきたい場合、1つのオプションはビューを作成することです。

create view GridData
as
    select table1.Field1 as GridColumn1, table2.Field2 as GridColumn2
    from table1
        inner join table2
        on table1.CommonId = table2.CommonId

次に、ビュー名をSN_DB_Nameに渡すことができます。

注:このオプションを使用すると、結合を使用したクエリのビューを作成する必要があります。私見より良いオプションは、SQL文字列全体を渡すことです。

幸運を

于 2012-08-21T23:53:36.387 に答える
0

//クエリでエイリアスを使用してみてください//このように

YourTable1 a、YourTable2 bからa.ID_number、b.Column1、b.Column2を選択します。ここでa.ID_number = b.ID_Number

于 2012-08-22T07:02:44.670 に答える