172 похожих чатов

Привет. Есть таблица формата id int, data json От клиента приходит

запрос формата:
[
{
id: 1
priority: 1
},
{
id: 232
priority: 2
}
{
id: 55
priority: 3
}
]
Можно ли как-то инструментами SQL вытащить data, отсортировав по id (соответствует полю id в таблице) + priority?
То-есть select id, data from table where id in ($1) order by (ну и тут, что-то, чтобы связать входящий аргумент ID, взять priority и отсортировать).
То-есть должен быть такой результат:
id, data
1 ...
232 ...
55 ...

5 ответов

13 просмотров

json_to_record и json_array_elements в помощь, чтобы разобрать id в строки таблицы

𝖈𝖇𝖗- Автор вопроса
Nick Nalbantov
json_to_record и json_array_elements в помощь, что...

То-есть в качестве аргумента закинуть json, который приходит от клиента, закастить его в record и потом заджоинть с таблицей?

𝖈𝖇𝖗- Автор вопроса
𝖈𝖇𝖗
То-есть в качестве аргумента закинуть json, которы...

Ну это общий указатель на какие функции смотреть. Я просто не совсем понял про столбец id - он уже заполнен или должен тоже заполняться из json? Может и не надо в таблицу ничего парсить, и достаточно просто вытаскивать элементы списка с помощью json_array_elements построчно, и дальше отдельные ключи оттуда доставать

𝖈𝖇𝖗- Автор вопроса
Nick Nalbantov
Ну это общий указатель на какие функции смотреть. ...

Все как надо) Даже не надеялся, что в postgres можно будет так красиво с джейсоном это решить. Сделал просто JSON_TO_RECORDSET входящего аргумента, потом inner join таблицы по id и сортировку по priority, который в recordset закастил: SELECT JSON_AGG(rows) FROM (SELECT s.title AS "title", s.description AS "description", s.c_data AS "data" FROM JSON_TO_RECORDSET($1) AS args("ID" INT, priority INT) INNER JOIN content.slice s ON s.id = args."ID" ORDER BY args.priority) rows; >Я просто не совсем понял про столбец id - он уже заполнен или должен тоже заполняться из json? id в таблице, да заполнен, это primary key. Ну и с клиента, когда летит ID, речь идет о поле id в БД.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта