【发布时间】:2017-10-30 01:55:03
【问题描述】:
我正在尝试根据另一行的数组元素的顺序选择记录:
SELECT *
FROM tester
WHERE id IN (
SELECT jsonb_array_elements(d->'fam')->>'id'
FROM tester
WHERE id='3'
)
我知道this solution。
不同之处在于我不知道如何动态生成“排序”值。这可能吗?
完整的fiddle is here。
我想根据 json 数据中的顺序查看结果:
id name d
-- ----- --------
2 barb {"fam": [{"id": 1}, {"id": 3}]}
4 jaimie {"fam": [{"id": 3}, {"id": 2}, {"id": 1}]}
1 bob {"fam": [{"id": 3}, {"id": 2}, {"id": 4}]}
【问题讨论】:
-
什么应该在您的预期结果集中生成排序?您演示中的 JSON 数据似乎已经具有您想要的顺序。
-
是,但返回的行顺序不同
标签: sql arrays postgresql jsonb set-returning-functions