![]() |
|
||||||||||
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
order by (case ... ) rate from ... order by rate
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
Что то не очень понял как применять этот RAte...и в документации не нашел....
...order by (case when ((full_name LIKE '%игорь гончаров%') OR (address LIKE '%игорь гончаров%')) then 1 when ((full_name LIKE '%игорь%' OR full_name LIKE '%гончаров%') OR (address LIKE '%игорь%' OR address LIKE '%гончаров%')) then 2 else 3 end ) Вот например когда БД вывела результаты для первого условия И начинает выводить результаты уже для then 1 when ((full_name LIKE '%игорь%' OR full_name LIKE '%гончаров%') OR (address LIKE '%игорь%' OR address LIKE '%гончаров%')) Можно ли как то это засечь и и уже для результатов этого условия писать НЕСТРОГОЕ СООТВЕТСТВИЕ? |
|
|||||
|
надеюсь Crazy опять не расплачится =)
И потом смотриш поле rate. Если оно 1 значит совпадение полное. Если 2 то неполное. Кстати, зачем full_name LIKE '%игорь гончаров%'? Не легче-ли написать full_name = 'игорь гончаров'? |
|
|||||
|
Цитата:
full_name LIKE '%игорь гончаров%' - это просто для примера...не обращайте внимание..... Последний запрос не работает...все время пишет эту ошибку. Помогите пожалуйста...Честно говоря что то конструкцию последнего запроса не очень понял... |
|
|||||
|
Я эта ... забыл написать from table_1 после as rate
|
|
|||||
|
Цитата:
Все равно ошибку дает...Посмотрте плз... Ошибка SQL-запрос : SELECT tab_1. * , ( CASE WHEN ( ( tab_1.full_name LIKE '%игорь гончаров%' ) OR ( tab_1.address LIKE '%игорь гончаров%' ) ) THEN 1 WHEN ( ( tab_1.full_name LIKE '%игорь%' OR tab_1.full_name LIKE '%гончаров%' ) OR ( tab_1.address LIKE '%игорь%' OR tab_1.address LIKE '%гончаров%' ) ) THEN 2 ELSE 3 END ) AS rate FROM `t1` tab_1 WHERE rate < 3 ORDER BY rate LIMIT 0 , 30 Ответ MySQL: Unknown column 'rate' in 'where clause' |
|
|||||
|
Банзаааай
SELECT tab_1. *, (CASE WHEN ( ( tab_1.full_name LIKE '%игорь гончаров%' ) OR ( tab_1.address LIKE '%игорь гончаров%' ) ) THEN 1 WHEN ( ( tab_1.full_name LIKE '%игорь%' OR tab_1.full_name LIKE '%гончаров%' ) OR ( tab_1.address LIKE '%игорь%' OR tab_1.address LIKE '%гончаров%' ) ) THEN 2 ELSE 3 END ) AS rate FROM `t1` tab_1 HAVING rate < 3 ORDER BY rate LIMIT 0 , 30 |
![]() |
Часовой пояс GMT +4, время: 17:03. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|