В таблице MySQL у меня есть столбец VARCHAR с именем ShareID.
- Если значение ShareID для строки # 1 содержит строку в виде 1
- и значение ShareID для строки #2 содержит строку в виде 10, 1
- , а значение ShareID для строки # 3 содержит строку в виде 111, 12 .
Я хотел бы получить все строки, в которых ShareID равен 1 .т.е. ТОЛЬКО первая и вторая строки здесь.
Я пытался использовать команду LIKE, например так:
SELECT * FROM tablename WHERE ShareWithID LIKE '1%';
, но это будет ловить ВСЕ строки, содержащие число 1 в нем, то есть строка # 3, что не то, что я хочу.
Я хотел бы запустить команду, которая будет возвращать ТОЛЬКО строки № 1 и № 2 выше, потому что их ShareID равен 1 содержится в нем.
Я пробовал различные команды (включая REGEXP и IN) и управлял решением 'frig', в котором я ставил бы запятую после КАЖДОГО числа в ShareIDстолбец, включая последний (т.е. 10, 1, ), а затем выполните эту команду:
SELECT * FROM tablename WHERE ShareWithID LIKE '%1,%';
Но я бы предпочел использовать правильное решение надчертовски решение.
Любое руководство будет приветствоваться.