我试图让这个查询首先显示where子句的值,如果第一个where子句是空的,去第二个。如果两者都不为空,则只应查找第一个子句。显示第一个子句的值,然后是第二个
SELECT id
FROM mdl_course_categories
Where id = '{Section}' or id = '{semester}'
此代码显示数据部分和学期,但我想先显示部分,然后是学期。任何想法如何做到这一点?
我试图让这个查询首先显示where子句的值,如果第一个where子句是空的,去第二个。如果两者都不为空,则只应查找第一个子句。显示第一个子句的值,然后是第二个
SELECT id
FROM mdl_course_categories
Where id = '{Section}' or id = '{semester}'
此代码显示数据部分和学期,但我想先显示部分,然后是学期。任何想法如何做到这一点?
然后,你需要添加一个order by
条款:
order by (id = '{Section}') desc,
(id = '{Semester}') desc
在MySQL中,布尔真正被视为1
和假为0
。
编辑:
如果你只有一个一排,其中行会的第一场比赛,然后第二个,则只需添加一个limit
的order by
后:
order by (id = '{Section}') desc,
(id = '{Semester}') desc
limit 1;
它的工作,但不是确切的我想要 –
现在它运作良好thanx –
一种方法是分别选择那些。
P.S.你为什么选择身份证,如果你使用它赢在哪里?
你想对结果进行排序吗?你有没有试过添加'ORDER BY'子句? – eggyal
不,我只是想显示只有一个where子句的值,如果部分可用,那么不要查找学期 –
什么是id?一个文本字段?它怎么可能同时具有两个值? –