![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
привет, нужен совет с составлением запроса.
Есть коллекция чисел List<Long> categories - в ней, допустим: 1,4,5,7,8,10,11. Вопрос как подставить в запрос эту коллекцию ? Неужели кроме как доставать по значению из коллекции и подставлять в запрос, других выходов нету ? Т.е. если 10 значений, то 10 раз вызывать метод ? |
|||
|
||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 5 Всего: 38 |
Привет.
Вот такое не подойдет?
-------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
MisterCleric, я так тоже думал, сделал
но почему-то пустая коллекция ... Это сообщение отредактировал(а) Samotnik - 13.1.2011, 12:55 |
|||
|
||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 5 Всего: 38 |
Покажи запрос, который при этом сгененрировался
-------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
MisterCleric, нет, извини, всё действительно работает, я случайно не те значения подставлял
![]() |
|||
|
||||
Samotnik |
|
||||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Запрос существенно расширился, и я опять с вопросом на форум
![]() Задача примерно такая. Есть две таблицы.
Нужно выбрать сообщения, которые были отосланы, и которые небыли отосланы. Для выбора отосланных сообщений я написал запрос:
теперь нужно написать выборку для не отправленных сообщений, критерий такой: выбрать все записи из таблицы delivery у которых sent=false + все записи из message, которые не попали в delivery. ![]() ![]() |
||||
|
|||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 5 Всего: 38 |
Привет.
Стоп! Что-то я не сильно сегодня соображаю, или что-то ты перегибаешь.
В чем проблема? Ведь отосланные + не отосланные = ВСЕ Не так ли? Или есть еще какие-то другие сообщения? В чем суть задачи? Может действительно достаточно выбрать все, а на клиенте фильтровать их по соответствующему признаку. Ведь связка-то у тебя между Message и Delivery -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
Temdegon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.10.2008 Где: Minsk Репутация: 7 Всего: 9 |
Я так понял, что неотосланные сообщения добавляются в delivery с признаком sent=false, а могут и вообще не попасть в delivery и быть только в message.
|
|||
|
||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 5 Всего: 38 |
Temdegon,
Не-не. Человек явно написал:
-------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
MisterCleric, да, спасибо, ты меня натолкнул на мысль, я просто буду передавать флаг, какие сообщения нужно вернуть отосланные или нет. Если отосланные, то буду возвращать результат выборки, если нет, то буду общему результату делать removeAll() - куда передам результат выборки отосланных. Получится, что из общего результата удаляться отосланные, следовательно я получу список не отосланных, верно ? )
|
|||
|
||||
Temdegon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.10.2008 Где: Minsk Репутация: 7 Всего: 9 |
Тогда можно использовать условие
where ms.category.id NOT in (:ids) и передать коллекцию отправленных |
|||
|
||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 5 Всего: 38 |
Ну как я понял, можно решить на уровне запроса (правда нативного):
-------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
MisterCleric, Temdegon, т.е. то, что я написал не верно ? Без запроса не обойтись ?
Добавлено через 2 минуты и 4 секунды Появилось новое условие ![]() В таблице Message есть еще одно поле - время создания. Так вот, в метод будут приходить еще два параметра в виде Date dateFrom, Date dateTo, как в эту выборку что у меня есть, подставить еще эти две даты, т.е. чтобы сообщения были выбраны с учетом этого периода. ![]()
|
|||
|
||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 5 Всего: 38 |
between тебе в помощь.
Ну или зависит от inclusive/exclusive начала-конца периода. -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
MisterCleric, ага, я уже тоже нашел
так что на счет моего способа получать не отосланные сообщения ? : ) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |