У меня есть два списка двух разных типов объектов, представляющих строки данных из двух запросов sql. Первый список содержит данные, а второй содержит более подробные данные. Итак, в качестве примера:
List1: List2:
1 Alice 1 15
2 Bob 1 19
3 Carol 2 5
4 Dave 2 7
2 20
4 16
Я хочу вставить строки в List2, чтобы у всех в List1 была хотя бы одна строка в List2. Поэтому, когда в List2 нет строк для определенного человека, я хочу вставить одну со значением по умолчанию. В примере мне пришлось бы вставить одну строку для Кэрол, поэтому я бы получил:
List1: List2:
1 Alice 1 15
2 Bob 1 19
3 Carol 2 5
4 Dave 2 7
2 20
3 0
4 16
У кого-нибудь есть умный, чистый и эффективный способ сделать это?
Я знаю, что для объединения этих таблиц в одну мне пришлось бы использовать внешнее соединение, например, как в этом Образец внешнего соединения. Но мне не нужен новый набор результатов. Я просто хочу, чтобы эти отсутствующие строки были вставлены в List2.
Примечание. Да, я знаю, что вопрос\название вроде... мля... но я не знаю, как лучше его сформулировать. Кто-нибудь, исправьте, если можете.
Примечание 2. Я не могу использовать SQL. Я не могу вставить эти строки в исходную таблицу. Я сообщаю о данных, что означает, что я не трогаю никакие данные. Я только что прочитал это. Данные должны использоваться в отчете master-detail, и моя проблема заключается в том, что, когда для определенной основной строки нет подробностей, вы получаете просто пустое место. Что не хорошо. Поэтому я хочу вставить строки с разумной информацией, чтобы пользователь мог видеть, что здесь нечего показывать.