У меня проблема, я сейчас работаю с базой данных Postgres и хочу создать представление из двух таблиц. Проблема в том, что в одной из таблиц есть столбец типа «varchar ARRAY». Этот столбец содержит какой-то идентификатор, который я могу использовать для получения информации из второй таблицы.
У меня есть следующее:
Таблица 1: Персона
- primary_name: varchar
- known_for_titles: varchar ARRAY (массив t_const) Таблица 2:
Таблица 2: Фильм
- t_const: varchar
- primary_title: varchar
Я хочу создать представление (actorView), которое выглядит следующим образом: -primary_name: varchar -famous_for: varchar ARRAY (массив заголовков)
У меня есть этоSQL, который не работает должным образом, мне удается создать представление, но я не могу самостоятельно использовать оператор select и не могу задать запрос к представлению.
CREATE or REPLACE VIEW actorView AS
SELECT p.primary_name,
array_agg(t.primary_title) as famous_titles
FROM person p JOIN title t
ON t.t_const = any(p.known_for_titles)
group by primary_name
Когда я пытаюсьвыберите часть оператора SQL, он просто завершает поиск в бесконечном цикле, и я должен завершить запрос.
То же самое происходит, когда я использую весь оператор. Каким-то образом удается создать таблицу, но я ничего не могу найти.