Мне нужно отсортировать результат этого запроса следующим образом:
1) в первой строке IdItem
со значением IsComplete
= 0, а также с тем, что тот же IdItem
уже выполнил задание (IsComplete = 1)
2) порядок остальных строк по IdItem ASC
.
--Current Select
SELECT
IdTask,
IdTaskDetail,
IdTask,
IdItem,
IsComplete,
RealQty,
ProposalQty
from TaskDetail
where IdTask = 751
and IsComplete = 0
ORDER BY (ProposalQty - RealQty)/ProposalQty ASC, IdItem ASC
--Creating table and values inside
CREATE TABLE TaskDetail
(IdTaskDetail int,
IdTask int,
IdItem int,
IsComplete int,
RealQty int,
ProposalQty int)
--Values
insert into TaskDetail (IdTaskDetail, IdTask, IdItem, IsComplete, RealQty, ProposalQty)
values (1642, 751, 10820, 0, 0, 12)
insert into TaskDetail (IdTaskDetail, IdTask, IdItem, IsComplete, RealQty, ProposalQty)
values (1641, 751, 9228, 0, 0, 12)
insert into TaskDetail (IdTaskDetail, IdTask, IdItem, IsComplete, RealQty, ProposalQty)
values (1640, 751, 9228, 0, 0, 12)
insert into TaskDetail (IdTaskDetail, IdTask, IdItem, IsComplete, RealQty, ProposalQty)
values (1643, 751, 10820, 1, 12, 12)
--Current table data
IdTask IdTaskDetail IdTask IdItem IsComplete RealQty ProposalQty
751 1641 751 9228 0 0 12
751 1640 751 9228 0 0 12
751 1642 751 10820 0 0 12
751 1643 751 10820 1 12 12
Желаемый результат должен быть следующим (поскольку есть задача IsComplete = 1 с элементом 10820):
IdTask IdTaskDetail IdTask IdItem IsComplete RealQty ProposalQty
751 1642 751 10820 0 0 12
751 1640 751 9228 0 0 12
751 1641 751 9228 0 0 12
последние два столбца имеют одинаковые критерии, поэтому не имеет значения порядок.