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 に答える