0

我有一个带有 where 语句的 sql,然后是一个 ordering 语句。

我的订货单是这样的

'ORDER BY CASE 
WHEN '.$col.' LIKE \''.$searchTerm.'\' THEN '.$c_0++.' 
WHEN '.$col.' LIKE \''.$searchTerm.'%\' THEN '.$c_20++.' 
WHEN '.$col.'LIKE \'%'.$searchTerm.'%\' THEN '.$c_40++.'
ELSE '.$c_60.' END,'.$col;

这取决于有多少列,然后也将我的搜索词拆分了几次。这很好用,但是当有几个结果与第一个订单语句匹配时,它们会显示在 ID 订单上,这不是我想要的。

我该如何添加ORDER BY 'RELEASE_DATE' DESC

我已经尝试在许多地方添加我的 sql 但只是让 sql santex 错误返回给我

4

1 回答 1

1

您将另一个子句添加到order by

ORDER BY (CASE WHEN '.$col.' LIKE \''.$searchTerm.'\' THEN '.$c_0++.' 
               WHEN '.$col.' LIKE \''.$searchTerm.'%\' THEN '.$c_20++.' 
               WHEN '.$col.'LIKE \'%'.$searchTerm.'%\' THEN '.$c_40++;
               ELSE '.$c_60.'
          END),
         (CASE WHEN '.$col.' LIKE \''.$searchTerm.'\' THEN RELEASE_DATE END) desc,
         '.$col
于 2013-08-05T13:50:39.553 回答