【发布时间】:2020-01-01 16:55:19
【问题描述】:
查询
select row_to_json(t)
from (
select book_id, book_title,
(
select array_to_json(array_agg(row_to_json(d)))
from (
select chapter_id, chapter_title, chapter_number
from chapters
where chapters.book_id = books.book_id
ORDER BY chapter_number
) d
) as chapters
from books
) t
第 (1) 行
{
"book_id":"c77c049c-d096-472f-a690-b48a9e979d86",
"book_title":"Ask the Dust",
"chapters":null
}
第 (2) 行
{
"book_id":"4a7cfa6d-573a-4fda-9258-8800fa217f4e",
"book_title":"Before I Self Destruct",
"chapters":[
{
"chapter_id":"8e2ac988-3d48-489d-a81a-745536da7164",
"chapter_title":"Sunshine Cleaning",
"chapter_number":1
}
]
}
当章节为空时如何完全删除该行?
我尝试查找具有 WHERE (books->'chapters') IS NOT NULL 的章节,但它抛出的错误是 '书 -> 未知'
【问题讨论】:
标签: sql json postgresql-9.4