Let's see an example.If you have lists a1,a2,a3 you can use join and merge the data by UserID like..
Dim a1 = New Object() {New With {.userID = 1, .firstName = "first Name", .lastName = "Last Name"}}.ToList()
Dim a2 = New Object() {New With {.userID = 1, .address = "address"}}.ToList()
Dim a3 = New Object() {New With {.userID = 1, .productID = "Product ID", .ProducName = "Product Name"}}.ToList()
Dim results = (From a In a1
Join b In a2 On a.userID Equals b.userID
Join c In a3 On a.userID Equals c.userID
Select New With _
{
a.userID,
a.firstName,
a.lastName,
b.address,
c.productID,
c.ProducName
}).ToList()