0

whereステートメントと順序付けステートメントを含むSQLがあります。

私の発注書はこんな感じです

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