2

我有这张桌子。表格1

ID     NAME       QTA

102    Name 1     100

105    Name 2       0

107    Name 3      10

109    Name 4       0

110    Name 5       7

我想以这种方式订购。(按 ID WHERE QTA >0 然后按 ID WHERE QTA = 0)

ID     NAME       QTA

102    Name 1     100

107    Name 3      10

110    Name 5       7

105    Name 2       0

109    Name 4       0

我试试这个查询

SELECT ID, NAME, QTA
FROM TABLE1
WHERE QTA > 0
ORDER BY ID   

UNION 

SELECT ID, NAME, QTA
FROM TABLE1
where QTA = 0 
ORDER BY ID

问题是子查询中不允许使用 ORDER BY。

我怎样才能做到这一点?

4

2 回答 2

1

您可以在 中执行该命令ORDER BY,只需添加一个CASE

SELECT ID, NAME, QTA
FROM TABLE1
WHERE QTA >= 0
ORDER BY CASE WHEN QTA > 0 THEN 1 ELSE 2 END, ID
于 2012-06-19T08:28:01.200 回答
0

只需在联合之前删除订单。

于 2012-07-13T19:17:07.450 回答