У меня есть одна таблица (порядок таблиц), с внешним ключом, индексированным к той же самой таблице, у каждого заказа есть много других заказов:
order
----------
id_order
state
id_source
id_source - внешний ключ, связанный с id_order в той же таблице
Я хочу выбрать все строки, упорядоченные по состоянию заказа и их порядкам.
Я попробовал этот код, но он не дал мне то, что я хочу.
select * from order o left join order o2 ON(o.id_order = o2.id_source)
order by o.state , o2.state asc ;
Например:
id_order | state | id_source
-----------------------------------
1 | 1 | null
-----------------------------------
2 | 2 | null
-----------------------------------
3 | 3 | null
-----------------------------------
4 | 1 | 3
Результат, который я хочу
id_order | state | id_source
-----------------------------------
1 | 1 | null
-----------------------------------
3 | 3 | null
-----------------------------------
4 | 1 | 3
-----------------------------------
2 | 2 | null