Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.10.2006, 09:56
|
|||
|---|---|---|---|
|
|||
Сортировка |
|||
|
#18+
Здравствуйте! Помогите, пожалуйста разобраться с сортировкой в следующем запросе: SELECT m.name, cm.unit, sum (cm.quantity) AS quantity FROM get_raw_materials() m LEFT JOIN c_materials_2 cm ON cm.material_id = m.id LEFT JOIN products_full p ON p.product_id_pkey = cm.product_id GROUP BY name, unit Ф-ция get_raw_materials() возвращает список всех(!) матриалов ОТСОРТИРОВАННЫХ в нужном порядке. Теперь мне нужно вывести список материалов из другой таблицы (объединенной) и чтобы он был отсортирован согласно списка выведенного ф-цией get_raw_materials(). Очень надеюсь на Вашу помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.10.2006, 10:00
|
|||
|---|---|---|---|
Сортировка |
|||
|
#18+
я думаю что саму функцию тоже надо показать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.10.2006, 10:15
|
|||
|---|---|---|---|
|
|||
Сортировка |
|||
|
#18+
Нужно, чтобы ф-ия get_raw_materials() возвращала кроме других поле ordr, соответствующее порядковому номеру строки. И сортировать по m.ordr во внешнем order by. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.10.2006, 11:36
|
|||
|---|---|---|---|
|
|||
Сортировка |
|||
|
#18+
Вот она: DECLARE res TEXT; myrec RECORD; ret_value return_pair; BEGIN FOR myrec IN (SELECT raw_material_id_pkey, g.name, rms.name as sort, dimension_1, dimension_2, dimension_3, dimension_4, g.dim_1_format, g.dim_2_format, g.dim_3_format, g.dim_4_format, g.display_format, m.comments FROM raw_materials m, raw_material_groups g, raw_materials_sorts rms WHERE m.raw_material_group_id = g.raw_material_group_id_pkey AND m.raw_materials_sort_id = rms.raw_materials_sort_id_pkey ORDER BY g.name, sort, m.dimension_1, m.dimension_2, m.dimension_3, m.dimension_4) LOOP res := myrec.display_format; res := replace (res,'%1', to_char(myrec.dimension_1, myrec.dim_1_format)); res := replace (res,'%2', to_char(myrec.dimension_2, myrec.dim_2_format)); res := replace (res,'%3', to_char(myrec.dimension_3, myrec.dim_3_format)); res := replace (res,'%4', to_char(myrec.dimension_4, myrec.dim_4_format)); ret_value.id := myrec.raw_material_id_pkey; ret_value.name := myrec.name || ' ' || myrec.comments || res || ' ' || myrec.sort; RETURN NEXT ret_value; END LOOP; END; Я думаю, что предложение LeXa NalBat-а стоит внимания, хотя придется многовато переделывать. Если есть другие идеи - буду очень благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=2006034]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 371ms |

| 0 / 0 |
