Which it's not. Even if it was, to expect it to return a DataTable is unrealistic. That code doesn't do anything with that DataTable anyway so is it even required? You seem to be joining those two tables and projecting only a subset of the columns. What do you actually want to do with the results of that operation? Is 'lstOutput' a ListBox and you're trying to display them in that? If so then nothing you have suggests you will succeed. Is a ListBox really appropriate for tabular data, given that it doesn't have multiple columns? Wouldn't a DataGridView be more appropriate?