|
SQL. Like. Нужна помощь)
| ☑ |
0
DirecTwiX
05.03.13
✎
00:24
|
Столбец А - ИМЯ, Б - ФАМИЛИЯ. Параметр "Петя Иванов". Нужно выбрать все строки, которые подходят.
Хочется как-то так:
SELECT A, B FROM table WHERE %A% LIKE param AND %B% LIKE param
|
|
1
DirecTwiX
05.03.13
✎
00:29
|
Сейчас попробовал так:
SELECT DISTINCT C FROM table WHERE CONCAT(A, '%', B) LIKE 'Петя Иванов' LIMIT 100
Не получилось
|
|
2
DirecTwiX
05.03.13
✎
00:43
|
Что-то рабочее...
$pat = str_replace(' ', '%', $pat);
SELECT DISTINCT C FROM table WHERE CONCAT(A, B) LIKE $pat LIMIT 100
Но хочется поиск получше
|
|
3
КонецЦикла
05.03.13
✎
01:24
|
Подходят одновременно двум? А так что плохо?
SELECT A, B FROM table WHERE A LIKE '%Имя%' AND B LIKE '%Фамилия%'
|
|
4
DirecTwiX
05.03.13
✎
13:10
|
Имя и фамилия могут состоять из нескольких слов. Но уже думаю разбивать строку на слова и делать кучу условий динамически, что не очень хорошо
|
|
5
le_
05.03.13
✎
13:18
|
(2) В like можно не только % использовать.
|
|
6
le_
05.03.13
✎
13:18
|
|
|
7
Тролль главный
05.03.13
✎
13:19
|
(3) подходит Иван Петянов
|
|
8
DirecTwiX
05.03.13
✎
13:20
|
(5) Я знаю. Мне больше ничего не проходит.
|
|
9
badboychik
05.03.13
✎
13:20
|
а что, в скуле нет поиска по регулярным выражениям? В оракле вот есть
|
|
10
КонецЦикла
05.03.13
✎
13:20
|
(4) Какая разница
Ты же будешь искать какую-то определенную подстроку?
"петр" - выскочит и петров-водкин и петрикин
|
|
11
badboychik
05.03.13
✎
13:22
|
+(9) я же так и думал что есть регулярки. Учись студент
|
|
12
774816
05.03.13
✎
13:30
|
SELECT DISTINCT C FROM table WHERE (A LIKE '%param%'
AND B LIKE ‘%param%’) LIMIT 100
SELECT DISTINCT C FROM table WHERE (A LIKE '%param%'
OR B LIKE ‘%param%’) LIMIT 100
|
|
13
DirecTwiX
05.03.13
✎
13:46
|
(10)(12) Пример:
Имя: Вася Дима
Фамилия: Петров
Строка поиска: Дима Петров
За регулярки спасибо, почему то про них не подумал
|
|
14
КонецЦикла
05.03.13
✎
13:51
|
вспоминается анек про "Василий'); DROP TABLE Students;--" :)
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший