OriginalGriff
Мы не можем дать вам решение для этого: это зависит в первую очередь от данных и организации столбцов.
Начните с рассмотрения двух источников данных: определите, с какими столбцами вам нужно работать, а какие определяют "доступность", и определите, как именно вы определяете, что строка "доступна". Когда вы это знаете, вы можете начать искать их.
На самом деле сделать это довольно просто: напишите метод, который принимает строку и проверяет ее на "доступность" - затем вы можете использовать Linq (если хотите) для обработки всех строк из таблицы 1 и создания коллекции доступных строк.
var available = myDataTable.AsEnumerable().Select(r => IsAvailable(r));
Но... "добавить новый столбец в таблицу 1" немного странно - вы не хотите делать это для каждой "доступной строки", или нет? Я бы посоветовал вам немного более тщательно подумать о том, чего именно вы пытаетесь достичь.