Как я могу найти каждую строку в таблице, где значение поля содержится в определенной строке?

0

Обычно я использую

SELECT * FROM tableName WHERE fieldName LIKE '%string%'

чтобы найти каждую строку в tableName, где значение fieldName содержит строку 'string'. Как я могу найти каждую строку в tableName, где значение fieldName содержится в строке "string"?

Например, в следующей таблице

имена

FirstName | LastName
Bob       | Dylan
Bob       | Marley

Я хотел бы использовать строку "Bob Marley", чтобы найти [Bob | Марли] и [Боб | Dylan], поэтому я бы сказал: найдите все строки в именах , где значение FirstName содержится в "Bob Marley"

Я подумал об этом:

SELECT * FROM tableName WHERE 'string' LIKE %fieldName%

но это не сработает.

Теги:

5 ответов

1
Лучший ответ

Благодаря Chris Nielsen и mmayo я нашел это рабочее решение:

Select * From names where 'Bob Marley' Like CONCAT('%', FirstName, '%')
2

Попробуйте следующее:

Select * From tableName where 'string' Like '%' + fieldName + '%'
1

SELECT * FROM tablename WHERE 'string' like '%' + имя_файла + '%'

0
SELECT  *
FROM    (
        SELECT  'Bob' AS name, 'Marley' AS lastname
        UNION ALL
        SELECT  'Bob' AS name, 'Dylan' AS lastname
        ) q
WHERE   'Bob Marley' LIKE CONCAT('%', name, '%')
0

Попробуйте следующее:

SELECT *
  FROM tableName
 WHERE LOCATE(fieldName, 'string') > 0;
  • 0
    Спасибо, ваши решения работают отлично. Тем не менее, я буду использовать свое собственное решение: выберите * Из utilisateur, где «Shawn Freyssonnet-Inder», как CONCAT («%», Prenom, «%»), потому что я считаю его более семантически правильным. Я не пытаюсь найти строка, а скорее тестирование, если оно присутствует. Единственная проблема в том, что я пока не могу выбрать свое собственное решение в качестве принятого решения ... поэтому вы получаете призовой фонд на данный момент
  • 0
    «на данный момент», это хромает
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню