Неоднозначная ссылка на столбец с использованием оператора JSON в PostgreSQL - PullRequest
0 голосов
/ 23 ноября 2018

Я не могу найти правильный синтаксис для ссылки на поле JSON в функции PostgreSQL.

Я использую функцию для вызова некоторых значений из всех моих клиентских схем, одна из которых - rule_id,хранится в столбце типа JSON.Как показано ниже:

RETURN QUERY EXECUTE 'SELECT 
 r.id, r.created, r.type, r.asset_type, r.title, r.amount, r.earning_type, a.user_id, u.customer_id, 
 r.rule ->>' || 'id' || ' "rule_id"
 FROM ' || schemaName || '.reward AS r RIGHT JOIN ' || schemaName || '.avatar AS a ON r.avatar_id = a.id, 
_global.user AS u WHERE u.id = a.user_id
' 
;

Поле JSON имеет такую ​​структуру, а идентификатор находится на главном пути (например, Id: 93):

object      {13}

updated :   null

    notificationRules       [0]

name    :   Level rule

script  :   null

levelStart  :   500

created :   2018-09-18T20:25:27.488+0000

    postRule        {12}

id  :   93

gamificationEventId :   platform.reward.XPChangedEvent

    gamification        {9}

levelIndex  :   2

levelEnd    :   1999

Но он возвращает следующееошибка:

ОШИБКА: ссылка на столбец "id" неоднозначна
LINE 3: r.rule - >> id "rule_id"

У кого-нибудь есть идеи?как заставить это работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...