我有 2 个数据集,每个数据集有 1 个表(7 列)。这两个表都有不同的列名,但结构相同。我想加入/合并/合并这 2 个表并生成一个只有 7 个列的表。我与 Merge 合作,但这会产生 14 个 cols 并且实际上并没有加入它们。我也在这个网站和其他网站上进行了搜索,但找不到适合我的情况的任何解决方案。我的代码是:
Private Sub FillMatchToOtstdAdapter()
Dim sql1 As String = "SELECT DOCMCH.docmch_nAccNo, DOCMCH.docmch_lRefDocId, DOCMCH.docmch_nDocLnNo, DOCMCH.docmch_dAdjustedAmt, DOCMCH.docmch_dAdjustedAmt, DOCHDR.dochdr_nVersionNo, 'D' AS Expr1 FROM TXNTYP INNER JOIN (DOCHDR INNER JOIN DOCMCH ON DOCHDR.dochdr_lDocId = DOCMCH.docmch_lRefDocId) ON TXNTYP.txntyp_sDocTyp = DOCHDR.dochdr_sDocType WHERE (((TXNTYP.txntyp_cDocTypCat)='F') AND ((DOCHDR.dochdr_lDocDt)>=20120630));"
Dim sql2 As String = "select otstnd_nAccNo, otstnd_lDocId, otstnd_nDocLnNo, otstnd_dOtstndgAmt, otstnd_dDocLnAmt, otstnd_nVersionNo, otstnd_cOtstndgSign from otstnd"
' Get Records of Query 1
ds_otstnd_Adap = New OleDb.OleDbDataAdapter(sql1, connStr)
ds_otstnd_Adap.Fill(ds_otstnd_Ds)
ds_otstnd_Dt = ds_otstnd_Ds.Tables(0)
' Get Records of Query 2
Dim adap As New OleDb.OleDbDataAdapter(sql2, connStr)
Dim ds As New DataSet
adap.Fill(ds)
' Merge both of them
ds_otstnd_Dt.Merge(ds.Tables(0), False, MissingSchemaAction.Add)
DataGridView1.DataSource = ds_otstnd_Dt
End Sub
知道如何在仅包含 7 个列的单个表中生成结果 - 只需将第二个表中的数据添加到第一个表中。我正在考虑从 table2 中选择每一行并添加 table1,但它们可能有很多行,如果可以以更简单的方式管理事情,我不想进入不必要的过程。
非常感谢任何帮助。
谢谢