У меня есть длинный запрос в Java, который помещается в результирующий набор и выполняется методом executeQuery (string). Теперь мне нужно пройти этот набор результатов, запросить каждую из записей в наборе результатов (метод get_linked_OrgTickets содержит этот запрос) и выводить только те строки, которые возвращают что-то в Vector linkedToTicket из ResultSet. Можно ли отсортировать этот ResultSet и скопировать указанные строки в другой набор результатов или, возможно, удалить строки, которые не будут выводиться из ResultSet? Есть ли другой способ решить эту проблему?Выберите записи из ResultSet java
if (linked == J.LINKED_TO_ORG){
while (rs.next()){
Vector linkedToTicket = Ticket.get_linked_OrgTickets(con, rs.getInt(Ticket.FLD_ID));
if (linkedToTicket != null)
{
// if there are linked tickets in the result set, output them only
}
}
}
* EDIT: * Эти подзапросы не могут быть интегрированы с основным запросом. Единственный способ сделать это - выполнить основной запрос один раз без этого и второй раз с ним включить, что было бы слишком неэффективным. Класс ResultSet, похоже, не содержит методов для удаления строки без влияния на базу данных или для создания ResultSet вручную.
Пожалуйста, помогите!
Итак, где неисправная этот фрагмент? Что вы пробовали? – Shark
это будет зависеть от логики 'get_linked_OrgTickets' и вашего запроса. «Фильтр» может быть частью первого запроса. –
Он не может быть частью первого запроса, так как мне нужно получить идентификаторы билетов, возвращаемых рядом критериев, и проверить, связаны ли эти идентификаторы с другими. – Bernice