Мне нужно провести исследование в системе баз данных, где внешние ключи для отношения 1: n хранятся в виде списка через запятую в одном столбце.Я хочу сделать запрос, который печатает каждую строку из таблицы A, где первичный ключ находится в определенном столбце таблицы B, но я просто не понимаю, как это сделать.Используемая база данных - оракул 10, если это помогает.
Вы хотите использовать функцию INSTR.
Select A.* FROM Foo A Where A.ID IN (SELECT A.ID FROM Bar B Where INSTR(','||B.ConcatKeyField||',', ','||A.ID||`,', 1, 1) > 0)
Очень грубый, неэффективный, но простой способ:
select ... from a, b where instr(','||b.csvcol||',', ','||a.pk||',') > 0;