Видимо, правильно ставить задачу так: удалить из 2-го списка строки с такими id, которые не встречаются в колонке id в 1-м списке. Между прочим, это банальная задача.
Из серии стол, стул, шкаф в комнате.
На примере: Есть объект - сайт. У сайта есть вложенный объект - страница, у страницы, в свою очередь - блок, и т.д. У объекта сайт могут быть и другие вложенные объекты: база данных, пользователь, и т.д. Степень вложенности может быть и больше. Поидее из объекта блок хотелось бы получить данные о странице, ну а из страницы, о сайте.
1 | 2
4 | 5
6 | 8
То должно получиться 6 строк, со значениями: 1, 2, 4, 5, 6, 8 или 1, 4, 6, 2, 5, 8 или вообще порядок не важен?
Мне кажется я понял что вам нужно.