两个字段的条件排序

时间:2014-04-24 08:45:15

标签: sql sqlite sql-order-by

我有这个问题:

SELECT 
     * 
FROM 
     PENDIENTESCOBRO 
ORDER BY 
     NPENDIENTE ASC
     , DFECHA

NPENDIENTE可以是负数或正数。我希望当此字段高于0时,停止使用此订单并取ORDER BY DFECHA

我该怎么做?

1 个答案:

答案 0 :(得分:2)

这应该这样做:

SELECT *
FROM PENDIENTESCOBRO
ORDER BY
  CASE WHEN NPENDIENTE>0 THEN 1 ELSE NPENDIENTE END ASC,
  DFECHA

这是因为您可以在SQLite ORDER BY子句中使用CASE espressions。我放的CASE使得所有正(> 0)NPENDIENTE值具有相同的订单值...因此行由DFECHA订购。