0

このクエリでまず where 句の値を表示し、最初の where 句が空の場合は 2 番目の where 句を表示しようとしています。両方が空でない場合は、最初の句のみを検索する必要があります。

SELECT id 
FROM mdl_course_categories
Where id = '{Section}' or id = '{semester}'

このコードはデータセクションとセメスターの両方を表示していますが、最初にセクションを表示してからセメスターを表示したいと思います。それを行う方法についてのアイデアはありますか?

4

2 に答える 2

1

Then you need to add an order by clause:

order by (id = '{Section}') desc,
         (id = '{Semester}') desc

In MySQL, the boolean true is treated as 1 and false as 0.

EDIT:

If you only one one row, where the row would be the first match and then the second, then just add a limit after the order by:

order by (id = '{Section}') desc,
         (id = '{Semester}') desc
limit 1;
于 2013-07-14T18:24:09.123 に答える
0

1 つの方法は、それらを個別に選択することです。

PS 使用している場合、なぜ id を選択するのですか?

于 2013-07-14T18:24:57.890 に答える