выбрать строки из списка ключей в одном столбце - PullRequest
2 голосов
/ 16 июня 2011

Мне нужно провести исследование в системе баз данных, где внешние ключи для отношения 1: n хранятся в виде списка через запятую в одном столбце.Я хочу сделать запрос, который печатает каждую строку из таблицы A, где первичный ключ находится в определенном столбце таблицы B, но я просто не понимаю, как это сделать.Используемая база данных - оракул 10, если это помогает.

Ответы [ 2 ]

1 голос
/ 16 июня 2011

Вы хотите использовать функцию 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)
1 голос
/ 16 июня 2011

Очень грубый, неэффективный, но простой способ:

select ... from a, b
where instr(','||b.csvcol||',', ','||a.pk||',') > 0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...