跳到主要内容

合并数据表

命令说明

将两个数据表按照指定的连接方式合并

命令原型

dtTable = Datatable.MergeDataTable(dtLeftTable,dtRightTable,strHow,strLeftKey,strRightKey,bSort)

命令参数

参数必选类型默认值说明
dtLeftTableTrueexpressionleftTable要合并的数据表1
dtRightTableTrueexpressionrightTable要合并的数据表2
strHowTrueenum"inner"合并两表的连接方式
strLeftKeyTruestring""左表用来做为合并依据的列名
strRightKeyTruestring""右表用来做为合并依据的列名
bSortTruebooleanFalse设置为True时表示合并时会根据给定的列值(也就是前面的left_on这种指定的列的值)来进行排序后再输出

返回结果

dtTable,将命令运行后的结果赋值给此变量。

运行实例

/*********************************合并数据表***************************************
命令原型:
dtTable = Datatable.MergeDataTable(dtLeftTable,dtRightTable,strHow,strLeftKey,strRightKey,bSort)
入参:
dtLeftTable--要合并的数据表1
dtRightTable--要合并的数据表2
strHow--合并两表的连接方式
strLeftKey--左表用来做为合并依据的列名
strRightKey--右表用来做为合并依据的列名
bSort--设置为True时表示合并时会根据给定的列值(也就是前面的left_on这种指定的列的值)来进行排序后再输出
出参:
dtTable--命令运行后的结果
**********************************************************************************/
Dim aryData,aryColumns,objDatatable
Dim aryData2,aryColumns2,objDatatable2
Dim dtTable

// 构建数据表1
aryData = [["a", 1], ["b", 2], ["c", 3], ["d", 1]]
aryColumns = ["letter", "number"]
objDatatable = Datatable.BuildDataTable(aryData,aryColumns)
// 构建数据表2
aryData2 = [["a", 19], ["b", 20]]
aryColumns2 = ["letter", "age"]
objDatatable2 = Datatable.BuildDataTable(aryData2,aryColumns2)
// 合并数据表--外连接
dtTable = Datatable.MergeDataTable(objDatatable,objDatatable2,"outer","letter","letter",false)
TracePrint(dtTable)
// 合并数据表--内连接
dtTable = Datatable.MergeDataTable(objDatatable,objDatatable2,"inner","letter","letter",false)
TracePrint(dtTable)
// 合并数据表--左连接
dtTable = Datatable.MergeDataTable(objDatatable,objDatatable2,"left","letter","letter",false)
TracePrint(dtTable)
// 合并数据表--右连接
dtTable = Datatable.MergeDataTable(objDatatable,objDatatable2,"right","letter","letter",false)
TracePrint(dtTable)

可视化样例