当前列表
Item# | To | From | A100 | 000000 | 803441 | A200 | 803441 | 000000 | A300 | 000000 | 542032 | A400 | 181061 | 000000 | A500 | 000000 | 181061 | A600 | 542032 | 000000 |
正确的分类清单*我不确定这是否是100%正确的结果
Item# | To | From | A100 | 000000 | 803441 | A200 | 803441 | 000000 | A500 | 000000 | 181061 | A400 | 181061 | 000000 | A300 | 000000 | 542032 | A600 | 542032 | 000000 |
首先它需要按Item#排序,但第二部分我不知道如何解释,基本上需要取出一个项目(#:00000)才能将新项目重新放入
思考困难,也许我的发烧阻碍了,但我在想是否与合并#?
另外,我需要这个查询仅适用于sql 2008,谢谢!
答案 0 :(得分:1)
你可以试试这个:
order by
CASE WHEN to > from THEN to ELSE from END
,to
如果您想按最低的项目#首先订购,则可以应用窗口聚合:
SELECT *
FROM tab
ORDER BY
Min(Item#)
Over (PARTITION BY CASE WHEN to > from THEN to ELSE from END)
,to