powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите с запросом WITH и сортировкой
4 сообщений из 4, страница 1 из 1
Помогите с запросом WITH и сортировкой
    #39402779
westvovik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WITH t1 as (
select o.*, orders_packs.orders_packs_id, orders_packs.status_main_id, orders_packs.currency_id from orders o
join orders_packs using (orders_id)
),
t2 as (select orders_id from t1 WHERE t1.currency_id = 2)
select t1.orders_id, t1.status_main_id, t1.orders_packs_id, t1.mkdate
from t1 where orders_id IN (select t2.orders_id from t2)

Есть две таблицы связанные orders (договора) и orders_packs(поддоговора)

Как мне сделать допустим такой запрос, я хочу сортировать по orders_packs.status_main_id DESC

Но мне нужно чтоб поддоговора всегда шли по порядку ASC при любой сортировки всей таблицы

т.е. типа того

orders_id | orders_packs_id | status_main_id
170 173 6
170 175 3

90 95 5

120 125 4
120 130 5
120 135 4

100 110 2
100 115 1
...
Рейтинг: 0 / 0
Помогите с запросом WITH и сортировкой
    #39403292
Hawkmoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
order by orders_packs_id asc, status_main_id desc?

ну и вычеркнуть после вникания asc за ненадобностью
...
Рейтинг: 0 / 0
Помогите с запросом WITH и сортировкой
    #39403411
westvovik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hawkmoonorder by orders_packs_id asc, status_main_id desc?

ну и вычеркнуть после вникания asc за ненадобностью

Еслиб так все было просто!

Не получится такая сортировка максимальные значения status_main_id не будут сверху, т.к. с начало отсортируются по orders_packs_id, а уже эта сортировка по status_main_id desc!

Мне по факту надо отсортировать по status_main_id допустим DESC, но потом найти связанные с этим договором orders под договора ordes_packs и дополнить выборку этими записями по порядку

Посмотрите на пример который я привел

Хотя я прихожу к мысли, что нужно просто сортировать по status_main_id таблица сама дополниться соседними поддоговорами в этом запросе, а уже при выводе клиенту на фронтэнде делать сортировку таблицы вручную
...
Рейтинг: 0 / 0
Помогите с запросом WITH и сортировкой
    #39403930
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
with t1(orders_id, orders_packs_id, status_main_id) as (
    values (170, 173, 6)
    , (170, 175, 3)
    , (90, 95, 5)
    , (120, 125, 4)
    , (120, 130, 5)
    , (120, 135, 4)
    , (100, 110, 2)
    , (100, 115, 1)
), t2 as (
    select distinct on(orders_id) orders_id, status_main_id as sort_status_main_id 
    from t1 order by orders_id, orders_packs_id
)
select * from t1 join t2 using(orders_id)
order by sort_status_main_id desc, orders_id asc, orders_packs_id asc
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите с запросом WITH и сортировкой
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]