You can create a DataTable type object with custom columns and then later add values to those columns when you query your data:
DataTable joinedData = new DataTable();
joinedData.Columns.Add("Name",typeof(string));
joinedData.Columns.Add("Address",typeof(string));
joinedData.Columns.Add("Salary",typeof(int));
Here maybe Name and Address are in one table and maybe salary is on a different table.
When querying the data, use a left join or right join to join the tables based on Id or any type of column from your tables depending on your schema. After you make a join statement and store the data in a variable such as 'var query', then iterate through it and add each row's data like the example:
var query =
foreach (var item in query)
{
joinedData.Rows.Add(item.Name,item.Address,item.Salary);
}