У меня есть следующий запросMySQL - Заказывайте Родительской позиции и ребенка Позиция
SELECT process.*
FROM (`process`)
WHERE `company_id` = '1' AND `status` = '1'
ORDER BY COALESCE(`process`.`parent_id`, `process`.`id`), `process`.`parent_id` IS NOT NULL asc, `process`.`position` asc
См SQLFiddie для таблиц, данных и запросов
http://sqlfiddle.com/#!9/d50ba/2
Запрос сортирует подпроцесс правильно на его номер позиции. Однако мне также нужен Основной процесс, отсортированный по его номеру позиции (оба ASC).
Редактировать Порядок оп ИДС должно быть 7, 1, 16, 41, 42, 6, 40 Это следует сначала заказать все основные процессы на положении ASC и в пределах каждого основного технологического заказа все относящиеся к югу процессы на положение ASC
это:
╔═════╦════════════╦═════════════╦════════════════╦═══════════════════╦═════════════╦═══════════════╦═══════════╦═════════════╦═══════════╦═════════╦════════════════════════════╗
║ id ║ parent_id ║ company_id ║ department_id ║ name ║ user_score ║ user_comment ║ ic_score ║ ic_comment ║ position ║ status ║ date_created ║
╠═════╬════════════╬═════════════╬════════════════╬═══════════════════╬═════════════╬═══════════════╬═══════════╬═════════════╬═══════════╬═════════╬════════════════════════════╣
║ 1 ║ (null) ║ 1 ║ 3 ║ Main Process 1 ║ 0 ║ (null) ║ 0 ║ (null) ║ 2 ║ 1 ║ February, 02 2015 21:04:03 ║
║ 16 ║ 1 ║ 1 ║ 3 ║ Sub Process 1, 1 ║ 0 ║ (null) ║ 0 ║ (null) ║ 1 ║ 1 ║ February, 02 2015 21:14:34 ║
║ 41 ║ 1 ║ 1 ║ 3 ║ Sub Process 4, 1 ║ 0 ║ (null) ║ 0 ║ (null) ║ 9 ║ 1 ║ February, 09 2015 10:06:40 ║
║ 6 ║ (null) ║ 1 ║ 3 ║ Main Process 2 ║ 0 ║ (null) ║ 0 ║ (null) ║ 8 ║ 1 ║ February, 02 2015 21:08:53 ║
║ 7 ║ (null) ║ 1 ║ 3 ║ Main Process 3 ║ 0 ║ (null) ║ 0 ║ (null) ║ 1 ║ 1 ║ February, 02 2015 21:09:08 ║
║ 40 ║ (null) ║ 1 ║ 3 ║ Main Process 2 ║ 0 ║ (null) ║ 0 ║ (null) ║ 16 ║ 1 ║ February, 09 2015 10:05:36 ║
║ 42 ║ (null) ║ 1 ║ 3 ║ Main Process 3 ║ 0 ║ (null) ║ 0 ║ (null) ║ 7 ║ 1 ║ February, 09 2015 10:14:36 ║
╚═════╩════════════╩═════════════╩════════════════╩═══════════════════╩═════════════╩═══════════════╩═══════════╩═════════════╩═══════════╩═════════╩════════════════════════════╝
Желаемый результат:
╔═════╦════════════╦═════════════╦════════════════╦═══════════════════╦═════════════╦═══════════════╦═══════════╦═════════════╦═══════════╦═════════╦════════════════════════════╗
║ id ║ parent_id ║ company_id ║ department_id ║ name ║ user_score ║ user_comment ║ ic_score ║ ic_comment ║ position ║ status ║ date_created ║
╠═════╬════════════╬═════════════╬════════════════╬═══════════════════╬═════════════╬═══════════════╬═══════════╬═════════════╬═══════════╬═════════╬════════════════════════════╣
║ 7 ║ (null) ║ 1 ║ 3 ║ Main Process 3 ║ 0 ║ (null) ║ 0 ║ (null) ║ 1 ║ 1 ║ February, 02 2015 21:09:08 ║
║ 1 ║ (null) ║ 1 ║ 3 ║ Main Process 1 ║ 0 ║ (null) ║ 0 ║ (null) ║ 2 ║ 1 ║ February, 02 2015 21:04:03 ║
║ 16 ║ 1 ║ 1 ║ 3 ║ Sub Process 1, 1 ║ 0 ║ (null) ║ 0 ║ (null) ║ 1 ║ 1 ║ February, 02 2015 21:14:34 ║
║ 41 ║ 1 ║ 1 ║ 3 ║ Sub Process 4, 1 ║ 0 ║ (null) ║ 0 ║ (null) ║ 9 ║ 1 ║ February, 09 2015 10:06:40 ║
║ 42 ║ (null) ║ 1 ║ 3 ║ Main Process 3 ║ 0 ║ (null) ║ 0 ║ (null) ║ 7 ║ 1 ║ February, 09 2015 10:14:36 ║
║ 6 ║ (null) ║ 1 ║ 3 ║ Main Process 2 ║ 0 ║ (null) ║ 0 ║ (null) ║ 8 ║ 1 ║ February, 02 2015 21:08:53 ║
║ 40 ║ (null) ║ 1 ║ 3 ║ Main Process 2 ║ 0 ║ (null) ║ 0 ║ (null) ║ 16 ║ 1 ║ February, 09 2015 10:05:36 ║
╚═════╩════════════╩═════════════╩════════════════╩═══════════════════╩═════════════╩═══════════════╩═══════════╩═════════════╩═══════════╩═════════╩════════════════════════════╝
Долю желаемого выход, ваше описание не ясно для меня – lad2025
@ lad2025 Пожалуйста, проверьте скрипку. Идентификаторы должны быть следующими: 7, 1, 16, 41, 42, 6, 40. Сначала необходимо, чтобы все основные процессы выполнялись в позиции и в основном, все принадлежащие подпроцессы должны быть ASC с позицией – PostMans
Проверьте мое право на правильность – lad2025