2013-07-14 2 views
0

Я пытаюсь получить этот запрос, чтобы сначала отобразить значение предложения where, а если первое предложение where пустое, перейдите ко второму. В случае, если оба не пусты, он должен искать только первое предложение.Отобразите первое значение предложения, затем второе

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

Этот код показывает как часть и семестр данных, но я хотел бы, чтобы показать раздел, а затем семестр. Любые идеи о том, как это сделать?

+0

Вы пытаетесь сортировать результаты? Вы пытались добавить предложение 'ORDER BY'? – eggyal

+0

Нет, я просто хочу отобразить значение только одного предложения where, если раздел доступен, тогда не смотрите семестр –

+0

что такое id? текстовое поле? как он может иметь оба значения одновременно? –

ответ

1

Затем вам нужно добавить order by пункт:

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

В MySQL булево верно трактуется как 1 и фальшива, как 0.

EDIT:

Если вы только один один ряд, где строка будет первый матч, а затем второй, а затем просто добавить limit после order by:

order by (id = '{Section}') desc, 
     (id = '{Semester}') desc 
limit 1; 
+0

это работает, но не точно я хочу –

+0

теперь он работает хорошо thanx –

0

Одним из способов является выберите их отдельно.

P.S. Почему вы выбираете id, если используете его, выигрываете ГДЕ?