Задать вопрос

Можно ли одним запросом выбрать строку по условию наличия в поле нужного ID в случае, если ID записаны через запятую в одну строку?

Доброго вечера.
Есть поле ids (таблицы А), в котором через запятую перечислены ID записей другой таблицы B. Пытаюсь одним запросом вывести все поля, в которых значения B.id будут присутствовать в A.ids. Под вечер совершенно не соображаю - LOCATE в данной ситуации подходит слабо (придется запускать как минимум 2-3 проверки), процедуры (чтобы разбить значение поля с айдишниками в массив и использовать оператор IN) - скорее не вариант, чем вариант, т.к. приоритет программному исполнению. Существует ли способ красиво решить проблему?

Движок БД - sqlite.
  • Вопрос задан
  • 197 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Провести рефакторинг и привести все таблицы в нормальную форму.
Ответ написан
Комментировать
chlp
@chlp
фулстек
Если правильно понял и ищем id=5:
SELECT * FROM A where A.ids = '5' OR A.ids like '5,%' OR A.ids like '%,5,%' OR A.ids like '%,5'
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы