Гибкий поиск Запрос для набора строк? - PullRequest
0 голосов
/ 16 апреля 2019

Пожалуйста, найдите ниже запрос:

Название таблицы: B

запрос: выберите * из {B}

ID  comp  
1   d,e,f 

хотите проверить, присутствует ли значение 'f' в comp или нет, используя SQL / гибкий поисковый запрос?

Можно ли написать SQL-запрос для этого сценария?

Обновление:

SELECT  DISTINCT {b:pk}  FROM {A AS a left join B as B on {a:ncode} = {b:ncode} and {a:qCode}  =  {b:qCode}}

WHERE 

{a:compID} IN ()

Предположим, что: compID равен "f"

Каким должен быть мой подзапрос после оператора IN, чтобы выполнить мое требование?

Спасибо

Ответы [ 2 ]

1 голос
/ 16 апреля 2019

Вы можете искать в строке в MySQL

// полный поиск:

ВЫБРАТЬ * ИЗ ГДЕ comp LIKE '% f%'

// начинаем с f

ВЫБРАТЬ * ИЗ ГДЕ comp LIKE '% f'

// заканчивается f

ВЫБРАТЬ * ИЗ ГДЕ comp LIKE 'f%'

0 голосов
/ 16 апреля 2019

это будет работать:

 SELECT FIND_IN_SET('f',(SELECT comp FROM t));

https://www.db -fiddle.com / f / si2o3QJWDT6FST1TR2LVXm / 0

, если вы хотите проверить, присутствует или нетзатем:

SELECT case when FIND_IN_SET('f',(SELECT comp FROM t))=0 then'not present'
          else 'present' end from dual;
...