|
Функция, результат в новый запрос
|
|||
---|---|---|---|
#18+
Здравствуйте! Есть такой вопрос: Сразу уточню, что я не уверен в правильности самой концепции БД, но выглядит она следующим образом: Есть пару таблиц, в них совершенно разрозненные данные, из общего у них допустим один или два атрибута(столбца) Я создал ещё одну таблицу (Общая), в которой я буду хранить значения и в этой же таблице будет один атрибут - поле типа jsonb , в котором буду хранить id записи значения и название этой таблицы Код: javascript 1.
Эта Общая таблица будет выглядеть так: Код: javascript 1. 2. 3.
Теперь я хочу выполнить поиск в some value и раскрасить поле jsonb и сделать следующие запросы, чтобы получить остальные данные из тех таблиц, где есть совпадение с some value Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
PG мне показывает названия таблиц, и номер записи в таблице, где есть someValue А вот как мне сформировать запрос с использованием этих двух значений, чтобы получить окончательные записи? Как правильно скомпоновать строку используя значения json? если выполняю такой код, строка выглядит правильно Код: plsql 1.
Код: plsql 1.
но как это записать в переменную и потом выполнить запрос используя эту переменную я не понял пробую: Код: plsql 1.
получаю ошибку Я ещё допустил ошибку и здесь table_string.json['id'] у меня получается значение в " " (двойные кавычки), а как можно сделать ' ' преобразовать в одинарные? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2022, 13:26 |
|
Функция, результат в новый запрос
|
|||
---|---|---|---|
#18+
TheKLF, Сначала читаем теорию и еще тут что бы понять что происходит Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2022, 14:09 |
|
Функция, результат в новый запрос
|
|||
---|---|---|---|
#18+
Swa111, Огромное спасибо!!!! Я это всё читал, но ваш пример уложил всё по полочкам в моей голове. Код: plsql 1.
%L - заключает значение аргумента в апострофы, а ещё table_string.json->>'id'::text приведение типа ускоряет работу а вот ещё такой вопрос: возможно ли каждую строку превратить в JSON используя имена атрибутов таблицы в качестве ключей и полученные значения? И как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2022, 14:45 |
|
Функция, результат в новый запрос
|
|||
---|---|---|---|
#18+
TheKLF, Оператор ->> уже возвращает результат с типом текст, дополнительно преобразовывать не нужно. Да, запись с типом record можно перевести c помощью функций to_json или to_jsonb Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2022, 15:08 |
|
Функция, результат в новый запрос
|
|||
---|---|---|---|
#18+
TheKLF, Может поможет такая функция 22428615 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2022, 15:13 |
|
|
start [/forum/topic.php?fid=53&fpage=2&tid=1993647]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 246ms |
total: | 361ms |
0 / 0 |