Нужно вывести процессы по контейнеру, но без повторений, в определенном порядке, который указывается в exec_order.
У некоторых контейнеров есть процессы одинаковые, но с разным параметром exec_order.
Для исключения дублей был использован distinct, но чтобы была сортировка с distinct, нужно чтобы поле было включено в селект, а этого нельзя допустить, т.к. это поле в массиве в принципе не нужно, так еще оно разбивает одинаковые процесс по exec_order в выборке.
select DISTINCT PROCESS_ID, DIRECTORY_PATH_INC
from(
SELECT DISTINCT con.CONTAINER_PROCESS_ID AS CONTAINER_PROCESS_ID,
con.PROCESS_ID AS PROCESS_ID, dir.DIRECTORY_PATH AS DIRECTORY_PATH_INC,
con.EXEC_ORDER AS EXEC_ORDER
FROM
prc_container con
JOIN prc_process proc ON con.CONTAINER_PROCESS_ID = proc.ID
JOIN prc_file_attribute fa ON fa.container_id = con.id
JOIN prc_directory dir ON fa.LOCATION_ID = dir.ID
JOIN prc_file fi on fi.id = fa.file_id
order by EXEC_ORDER ASC
)
where CONTAINER_PROCESS_ID = '34'