Автор Тема: как да направя уайлдкард търсене  (Прочетена 1295 пъти)

nov_chovek

  • Напреднали
  • *****
  • Публикации: 536
  • Distribution: Ubuntu 8.10 по принуда
  • Window Manager: Gnome
    • Профил
    • WWW
Имам база данни с хора. Всеки има по три имена.

Искам да направя търсене по следния начин:

да се напише едно от трите имена и да ми изкарва всички записи където има това едно име. Имената на човека се съхраняват в едно поле на базата данни.

Абе на кратко, как става номера с уайлд кард търсенето?
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
как да направя уайлдкард търсене
« Отговор #1 -: Dec 05, 2005, 11:06 »
like %
Активен

rat

  • Напреднали
  • *****
  • Публикации: 266
    • Профил
как да направя уайлдкард търсене
« Отговор #2 -: Dec 05, 2005, 16:27 »
Както е посочил колегата става с оператора LIKE .Пример
Примерен код
select * from tbl1 where fname like "%ivan%" or lname like "%ivan%"

nov_chovek

  • Напреднали
  • *****
  • Публикации: 536
  • Distribution: Ubuntu 8.10 по принуда
  • Window Manager: Gnome
    • Профил
    • WWW
как да направя уайлдкард търсене
« Отговор #3 -: Dec 05, 2005, 17:17 »
мерси момчета, но имам още един въпрос относно подреждането по големина.

Имам две полета в една таблица. Всяко съдържа числа.

Поле едно има диапазон 1-4
Поле 2 има диапазон 1-11

стойностите на тия две полета ги изкарвам по двойки. Пример:

1,10
3,2 и т.н.

опитвам се да ги сортирам с:

Примерен код
Select * from Tablica ORDER BY Pole1 AND Pole2


Идеята е да сортира двойките числа първо по първата цифра и после по втората.
Естествено гония ред код не работи ,защото не е верен '<img'>

ИСкан резултат:
1, 2
1, 4
1, 6
3, 4
3, 7
4, 4
4, 6 и т.н.

Разбрахте ли , от обърканите ми обяснения, просто не мога да го обясня по ясно от това '<img'>
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
как да направя уайлдкард търсене
« Отговор #4 -: Dec 05, 2005, 17:33 »
ORDER BY Pole1, Pole2

п.с.: има доста литература за SQL написана и на хартия и в интернет, и за стандарти и за конкретни реализации, изобщо - чети

 '<img'>
Активен

nov_chovek

  • Напреднали
  • *****
  • Публикации: 536
  • Distribution: Ubuntu 8.10 по принуда
  • Window Manager: Gnome
    • Профил
    • WWW
как да направя уайлдкард търсене
« Отговор #5 -: Dec 12, 2005, 13:14 »
здравейте пак,

имам проблем с like '%$var%' търсенето.

Имам името Иван Димитров Петров.

1.Като търся по "Иван" излиза като резултат цялото име.
2. Като търся по "Петров" -пак цялото име

3....но като търся по "Иван Петров" и не изкарва никакви резултати.


Едит: сетих се защо се получава, но помогнете как да го реша все пак '<img'>
Защо се получава така? И как да реша проблема?
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
как да направя уайлдкард търсене
« Отговор #6 -: Dec 12, 2005, 15:44 »
Split-ваш името по интервалите и налепваш едно след друго условията с AND. Би трябвало да се получи нещо такова:

NAME LIKE '%Иван%' AND NAME LIKE '%Петров%'
Активен