2013-08-05 2 views
0

У меня есть sql с инструкцией where, а затем заказом.Добавить общий заказ с футляром

Мой заказ утверждение как этот

'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; 

Это может быть сделано несколько раз в зависимости от того, сколько столбцов, а затем и разделив мой поиск термин вверх. Это работает очень хорошо, но когда есть несколько результатов, соответствующих утверждению первого порядка, они отображаются тогда по порядку идентификатора, что не то, что я хочу.

Как добавить ORDER BY 'RELEASE_DATE' DESC к этому.

Я пытался добавить его в свой SQL numorous местах, но просто получить SQL ошибки SANTEX, приходящие ко мне

ответ

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 
+0

работал идеально. спасибо – Mark

Смежные вопросы