У меня есть DataModel. MyDataObject.Уменьшить количество запросов к выполнению
Каждый объект MyDataObject содержит 2 типа данных, а именно: A & List<BC>
.
То есть:
class MyDataObject {
String A;
List<BC> bc;
}
class BC {
String B;
String C;
}
Теперь я выборки данных из базы данных. Stucture БД, как:
А может иметь множество B, а
существует взаимно однозначное отображение-к-одному между B & C (с может быть нулевым, поэтому один запрос соединения является nogood здесь).
В первом запросе я получаю A & Список с использованием соединения. ResultSet, как:
A1 B1
A1 B2
A1 B3
A2 B4
A2 B5....
Во втором запросе я принести каждый C для B, т.е.
B1 C1
B2 C2
B3 C3....
Проблема в первом результирующем запросе, я в состоянии установить A & List, например
for (Result result: resultSet) {
if (myData.getA == null) {
myData.seta(result.getA());
}
myData.setB(result.getB);
}
Но для второго запроса мне нужно передать идентификатор B в качестве аргумента в where where, чтобы извлечь Cs.
Таким образом, для каждого А, Я выполнить запрос & передать его B для выборки C.
Как я могу сделать это в запросе, а затем установить C в данном типе до н.э. в минимальном количестве шагов ?
да, это то, что я делал раньше. Но C может быть нулевым, поэтому, если я присоединяюсь к B & C, а C - null, то для этого случая B также не возвращается. Извините, я пропустил этот вопрос, вопрос обновился. – reiley
Обновлен мой ответ. Теоретически он должен работать так, как вы хотите, но я признаю, что не пробовал. – DaaaahWhoosh
технически он должен работать, но мой сценарий не так прост, как объяснялось в вопросе, и левое соединение также не работает. Что делать RCA. Спасибо – reiley