Imports System.Data.DataSetExtensions
Console.WriteLine(".DataTable Join/Merge")
Dim cust As DataSet = New DataSet
Dim custTbl As DataTable = cust.Tables.Add("CustomersTable")
custTbl.Columns.Add("key", GetType(System.Int32))
custTbl.Columns.Add("desc", GetType(System.String))
custTbl.Rows.Add(100, "1desc")
custTbl.Rows.Add(200, "2desc")
custTbl.Rows.Add(300, "3desc")
custTbl.Rows.Add(400, "4desc")
custTbl.Rows.Add(500, "5desc")
custTbl.Rows.Add(600, "6desc")
custTbl.Rows.Add(800, "8desc")
Console.WriteLine(custTbl.Rows.Count.ToString())
Dim cust2 As DataSet = New DataSet
Dim cust2Tbl As DataTable = cust.Tables.Add("CustomersTable2")
cust2Tbl.Columns.Add("key", GetType(System.Int32))
cust2Tbl.Columns.Add("desc", GetType(System.String))
cust2Tbl.Rows.Add(200, "x xxx")
cust2Tbl.Rows.Add(300, "x 30cust")
cust2Tbl.Rows.Add(350, "x 35cust")
cust2Tbl.Rows.Add(400, "x 4cust")
cust2Tbl.Rows.Add(550, "x 55cust")
cust2Tbl.Rows.Add(600, "x 6cust")
cust2Tbl.Rows.Add(700, "x 7cust")
Console.WriteLine(custTbl.Rows.Count.ToString())
Console.WriteLine(cust2Tbl.Rows.Count.ToString())
Dim outResults As DataSet = New DataSet
Dim ICASSOut As DataTable = outResults.Tables.Add("ICASSOut")
ICASSOut.Columns.Add("SSN", GetType(System.String))
ICASSOut.Columns.Add("Name", GetType(System.String))
ICASSOut.Columns.Add("APPN_Prior", GetType(System.String))
ICASSOut.Columns.Add("APPN_Current", GetType(System.String))
ICASSOut.Columns.Add("Allot_Prior", GetType(System.String))
ICASSOut.Columns.Add("Allot_Current", GetType(System.String))
ICASSOut.Columns.Add("OrgCode_Prior", GetType(System.String))
ICASSOut.Columns.Add("OrgCode_Current", GetType(System.String))
ICASSOut.Columns.Add("Status_Prior", GetType(System.String))
ICASSOut.Columns.Add("Status_Current", GetType(System.String))
Dim currTblResults1() as DataRow = custTbl.Select("","key ASC")
For Each currRow As DataRow In currTblResults1
Console.WriteLine("c1 "+currRow.ItemArray(0).ToString+" "+currRow.ItemArray(1).ToString)
Dim prevTblResults2() as DataRow = cust2Tbl.Select("key='" + currRow.ItemArray(0).ToString()+"'")
For Each prevRow As DataRow In prevTblResults2
Console.WriteLine("---c2 "+prevRow.ItemArray(0).ToString+" "+prevRow.ItemArray(1).ToString)