2013-03-07 2 views
1

Мне было интересно, есть ли способ сохранить условия условия предложения и не рассчитать их более одного раза, чтобы определить, какой из них был удовлетворен. Вот что я говорю: select col, col1>5 cond1, col2<400 cond2 from table where col1>5 or col2<400MySQL Определите, какое условие было удовлетворено

ответ

3

Я не думаю, что вы должны беспокоиться о вычислении простых сравнений как col1 > 5 несколько раз для каждой строки, но для того, чтобы сохранить текст в более сложном запросе вы можете сделать так:

SELECT col, col1 > 5 AS cond1, col2 < 400 AS cond2 
FROM table 
HAVING cond1 or cond2 

Использование having вместо where дает доступ к псевдонимам, введенным в п select.

+0

+ 1..Это именно то, что я хотел :) Ввод его дважды - это основной резонанс – alexanderg

Смежные вопросы