![]() |
|
![]() ![]() ![]() |
|
Akella |
|
||||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Есть в базе 2 поля, которые заслуживают внимания в данном вопросе, остальные просто не нужны пока что.
Вот записи в базе могут быть отсортированы так:
вот результат
Теперь в поле ID_Sort требуется записать числовые значения таким образом, чтобы записи шли поочереди
Для наглядности в экселе изобразил так: ![]() Не знаю, понятно ли? ![]() Добавлено @ 17:01 Т.е. как бы выхватывая из каждой группы записи, их нужно выстроить одну за другой. Может проще на Delphi соорудить? Это сообщение отредактировал(а) Akella - 1.6.2012, 12:45 |
||||||
|
|||||||
vladimir74 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 28.11.2006 Репутация: 2 Всего: 3 |
это что один раз надо сохранить? тогда если 10 строк - то проще руками, если больше то быстее ИМХО на дельфях --------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
пока что в базе всего около 65 тыщ объявлений
Добавлено через 2 минуты и 1 секунду юзеры молятся ![]() ![]() Добавлено через 9 минут и 2 секунды Пока делаю на дельфи Тестирую, не знаю, что получиться Принцип такой. Создаю нужное количество массивов. Потом цикл по массивам
|
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 8 Всего: 44 |
Akella, что-то не совсем понятно, а можешь объяснить как-нибудь по другому?
Если есть 3 значения поля (квартал, аверс, жидн), которые идут друг за другом, причем тут группы? И почему так много записей? И по какому признаку это группируется? Может все-таки еще какие-то поля будут учавствовать в алгоритме? -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
группы - это образно говоря, т.к. группы объявлений, группа объявлений от квартала, группа объявлений от ЖиДH`а, группа объявлений от Аверса, ну типа объявления могут сгруппированы/отсортированны по ID рекламодателя. Добавлено @ 10:32 Прога написана для редакции газеты, газета выпускает приличное количество объяв, прогу можешь глянуть у мну на сайте. Это сообщение отредактировал(а) Akella - 1.6.2012, 12:45 |
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Разбиваем на массивы одинаковых слов, каждому элементу в пределах массива прописываем его порядковый номер, заносим в БД и запросом сортируем.
квартал 1 квартал 2 квартал 3 аверс 1 аверс 2 жидн 1
получаем аверс 1 жидн 1 квартал 1 аверс 2 квартал 2 квартал 3 -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
vladimir74 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 28.11.2006 Репутация: 2 Всего: 3 |
Akella, у тебя получилось?
в принципе я думал создать три квери, сделать цикл по размеру наибольшего, внутри апдейтить общим счетчиком ID проверяя на конец каждого квери последовательно ... Добавлено через 3 минуты и 12 секунд Vas, я так понял ID станет ключем. --------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
ну я перед обработкой запихиваю группы объявлений в массив датасетов, выше на дельфи код:
т.е. получается массив датасетов, в каждом датасете набор/группа объявлений от конкретного рекламодателя, т.е. 10 рекламодателей, и 10 датасетов в массиве получается в q[0] объявления от Квартала в q[1] объявления от Аверса в q[2] объявления от ЖиДH в q[3] объявления от ещё от кого-то там Что нужно сделать? Первой записи (в поле ID_SORT) датасета q[0] присваимваем 1 Первой записи (в поле ID_SORT) датасета q[1] присваимваем 2 Первой записи (в поле ID_SORT) датасета q[2] присваимваем 3 прошли все записи массива и опять Второй записи (в поле ID_SORT) датасета q[0] присваимваем 4 Второй записи (в поле ID_SORT) датасета q[1] присваимваем 5 Второй записи (в поле ID_SORT) датасета q[0] присваимваем 6 и т.к. Теперь когда мы отсортируем записи по полю ID_SORT, то получим такую чехарду, как показано на рисунке ![]() Это сообщение отредактировал(а) Akella - 1.6.2012, 12:46 |
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
А смысл его делать ключом? Если и делать то составной (Name, ID_Sort). А если не три разных наименования, а n-ое количество, причем заранее не известное ![]() -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
нет, намудрил я здесь
что-то не так, что-то забыл, логика у мну хромает, моск тоже хромает ![]() |
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
А в пределах группы сортировка по наименованию не нужна? -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
vladimir74 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 28.11.2006 Репутация: 2 Всего: 3 |
перечитал свое, кажется с утра у меня плохл с формулировкой мыслей
ну вообщето эти три ифа должеы быть одной функцией, но это уже не принципиально, если речь идет о тулсе которую просто надо быстро запустить.... ИМХО конечно... Это сообщение отредактировал(а) vladimir74 - 2.12.2008, 10:59 --------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
по идее никаких имён там нет, имя это я привёл для наглядности ![]() и там вообще такая сортировка ![]() ![]() Это сообщение отредактировал(а) Akella - 2.12.2008, 11:00 |
|||
|
||||
Vas |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Akella, а почему на сервере не хочешь сделать, насколько я замечал ты с БД дружишь.
1. Выбираем строго наименования не повторяющиеся и делаем курсор по этому запросу
2. Цикл по выбранному курсору, внутри цикла выбираем все записи соответсвующие этой группе
3. Тоже объявляем курсор и внутри курсора апдейтим записи по порядку. 4. Затем сортируем как я уже писал. Добавлено через 1 минуту и 34 секунды Дык не имя, а какой-то признак для разбивки по группам есть же? -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |