Top.Mail.Ru
Ответы
Аватар пользователя
9лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Разбиение строки в SQL

Есть две таблицы, в одной хранятся названия организаций и их id, а во второй есть поле в которое через ';' внесены id организаций от одной до всех.
Требуется запрос вытаскивающий эти id и проводить соответсвие с фактическим названием

По дате
По рейтингу
Аватар пользователя
Новичок
9лет

Во первых: не слушай местных "авторитетов". Гуру и Профи они только здесь.
Во вторых была схожая задача:
select ug_id, ug_name from "USER&GROUP" where ug_id=:ug_id or POSITION(','||ug_id||',',','||(select group_list from "USER&GROUP" where ug_id=:ug_id)||',')>0
Только у меняID разделены через запятую. Разберешься

Аватар пользователя
Высший разум
9лет

Действительно, бред. Такая связь между таблицами делается с помощью вспомогательной таблицы, содержащей 2 поля: id первой таблицы и id второй таблицы. И в этой вспомогательной таблице перечислены все актуальный комбинации. Вот в этом случае всё можно делать нормальными запросами. А твой вариант - это удаление гланд через жопу.

Аватар пользователя
Искусственный Интеллект
9лет

> а во второй есть поле в которое через ';' внесены id организаций от одной до всех
Это мудозвонство. Сделай нормальные связи и не извращайся таким образом больше никогда вообще. "Запросом" в твоем случае будет скрипт, который разберет твою строку на составляющие, занесет их в таблицу связей и сотрет нахрен этот столбец вообще.

Аватар пользователя
Знаток
9лет

перепроектируйте таблицы, и забейте данные заново.

Аватар пользователя
Искусственный Интеллект
9лет

"...а во второй есть поле в которое через ';' внесены id организаций от одной до всех." Такое только идиот мог придумать!