0

我试图让这个查询首先显示 where 子句的值,如果第一个 where 子句为空,则转到第二个。如果两者都不为空,它应该只查找第一个子句。

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

此代码同时显示数据部分和学期,但我希望它先显示部分,然后显示学期。关于如何做的任何想法?

4

2 回答 2

1

然后你需要添加一个order by子句:

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

在 MySQL 中,布尔值 true 被视为,1而 false 被视为0

编辑:

如果您只有一行,该行将是第一个匹配项,然后是第二个匹配项,那么只需limit在 : 之后添加一个order by

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

一种方法是分别选择它们。

PS 如果你使用它,为什么要选择 id win WHERE?

于 2013-07-14T18:24:57.890 回答