good_br
@good_br
учусь

Как написать запрос по номеру телефона?

Доброй ночи! проблема заключается в том, что я точно знаю, что в базе есть номе телефона конкретный, но когда я осуществлять поиск по нижеуказанному запросу, мне ни чего не находит , как так? Что надо исправить ?

use old;
SELECT `firstname`, 
`middlname`,
 `lastname`,
 `age`,
 `phone1`,
 `phone2`,
 `town`, 
 `desired_profession`
 
FROM profil WHERE `town` BETWEEN 2 AND 4 AND
 `phone1` AND `phone2` LIKE "%7(909)6060567%";


59d6f018bbaf0906300575.png
  • Вопрос задан
  • 318 просмотров
Пригласить эксперта
Ответы на вопрос 1
Дополнительно к комментарию выше:
Если нужен поиск по 2-ум полям, то условие должно быть какое-то такое
`phone1`  LIKE "%7(909)6060567%" OR `phone2`  LIKE "%7(909)6060567%"

Но перед выполнением надо еще подумать над унифицированием данных в таблице, можно сделать что-то вроде

SELECT * 
FROM (
  SELECT p1.num, p2.num
  FROM profil p
  OUTER APPLY (SELECT REPLACE(REPLACE(REPLACE(REPLACE(p.phone1,'-',''),')',''),'(',''), ' ','') as num ) p1
  OUTER APPLY (SELECT REPLACE(REPLACE(REPLACE(REPLACE(p.phone2,'-',''),')',''),'(',''), ' ','') as num ) p2
 ) number
WHERE `p1`  LIKE "%9096060567%" OR `p2`  LIKE "%9096060567%"

Должно быть что-то похожее, код накидал без проверки
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы