
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
19.05.2015, 14:00:02
|
|||
|---|---|---|---|
|
|||
Объединение полей и поиск по ним CONCAT_WS + LIKE |
|||
|
#18+
Имеется таблица users с полями lastname, firstname, middlename Нужно объединить поля и найти нужного пользователя Объединение делаю так: авторSELECT CONCAT_WS(' ', lastname, firstname, middlename) search FROM users Вопрос: Как реализовать LIKE с этим запросом и возможно ли ? Пробовал так: авторSELECT CONCAT_WS(' ', lastname, firstname, middlename) search FROM users WHERE search LIKE '%Попова%' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2015, 14:02:20
|
|||
|---|---|---|---|
Объединение полей и поиск по ним CONCAT_WS + LIKE |
|||
|
#18+
В WHERE нельзя ссылаться на алиасы из секции SELECT. Код: sql 1. 2. 3. Правда, непонятно, зачем тут конкатенация, когда можно три лайка сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2015, 14:11:26
|
|||
|---|---|---|---|
|
|||
Объединение полей и поиск по ним CONCAT_WS + LIKE |
|||
|
#18+
miksoft, Спасибо, уже зам допер: авторselect search from (SELECT CONCAT_WS(' ', lastname, firstname, middlename) AS search FROM users) result WHERE search LIKE '%Попова%' Кому надо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2015, 14:12:18
|
|||
|---|---|---|---|
Объединение полей и поиск по ним CONCAT_WS + LIKE |
|||
|
#18+
xewmiksoft, Спасибо, уже зам допер: авторselect search from (SELECT CONCAT_WS(' ', lastname, firstname, middlename) AS search FROM users) result WHERE search LIKE '%Попова%' Кому надо :)Не, так точно не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2015, 14:15:55
|
|||
|---|---|---|---|
|
|||
Объединение полей и поиск по ним CONCAT_WS + LIKE |
|||
|
#18+
miksoft, пчму ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2015, 14:20:25
|
|||
|---|---|---|---|
Объединение полей и поиск по ним CONCAT_WS + LIKE |
|||
|
#18+
xewmiksoft, пчму ?Потому что не надо тащить подзапросы там, где они не нужны. А то они ненароком и материализоваться могут. Да и сложность чтения/поддержки возрастает. Если уже настолько не хочется повторять выражение (хотя тут оно и вовсе не нужно), то используйте HAVING. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2015, 14:23:39
|
|||
|---|---|---|---|
|
|||
Объединение полей и поиск по ним CONCAT_WS + LIKE |
|||
|
#18+
miksoft, спасибо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2015, 15:02:11
|
|||
|---|---|---|---|
Объединение полей и поиск по ним CONCAT_WS + LIKE |
|||
|
#18+
ну лучше так Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2015, 15:17:55
|
|||
|---|---|---|---|
Объединение полей и поиск по ним CONCAT_WS + LIKE |
|||
|
#18+
вадя , ну ничем не лучше, да к тому же не соответствует задаче. Единственное вменяемое улучшение уже указано - использовать поиск по отдельным полям, без конкатенации, чтобы индексы работали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1833190]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 330ms |

| 0 / 0 |
