mysql | Запрос из пустой колонки и FIND_IN_SET

У меня есть таблица:

id name position status 1 A 1,2 1 2 B 1 1 3 C 1 4 D 2 1 

Где: столбец position – текстовое поле; Моя просьба здесь:

 SELECT `id` FROM `table` WHERE `status`=1 AND `position` > '' AND `position` = FIND_IN_SET( 1, `position` ) OR `position` = FIND_IN_SET( 2, `position` ) 

Этот запрос вернется: 1,2,3,4. Это не так, как мне нужно: 1,2,4 -> Условие: ( position > ''). Где проблема и как изменить мой запрос? Благодарю.

вам не нужно проверять, является ли позиция пустой при проверке номеров в списке полей.

вам не нужно проверять position = FIND_IN_SET.... он вернет значение, где 1 находится в позиции.

вам нужно сделать это так:

  SELECT `id` FROM `table` WHERE `status`=1 AND FIND_IN_SET( 1, `position` ) OR FIND_IN_SET( 2, `position` ) 

ДЕМО ЗДЕСЬ