【发布时间】:2013-08-30 15:56:19
【问题描述】:
我有一个用于返回 JSON 的 Postgres 数据库的 SQL API。
我有两个表:holidays,其架构为name、hd_id。还有photos,这是那天拍的照片。它的架构是url、caption、h_id。
我想创建一个嵌套的 json 对象,如下所示。我正在运行的 SQL 是
SELECT holidays.name, holidays.h_id,
concat('[', group_concat(concat('{"src":"', photos.url, '","caption":"', photos.caption '"}', separater ','), ']') )
FROM holidays
INNER JOIN photos
ON holidays.h_id = photos.h_id
GROUP BY holidays.h_id
但这给了我错误"schema "photos" does not exist"。照片是一个表,而不是一个模式。我似乎没有犯与this seemingly related question 相同的错误。我不确定如何构建 JOIN。
这是所需的 JSON 输出。
[
{
name: 'Labor Day',
h_id: 'a1',
photos: [
{
src: 'url',
caption: 'text'
},
{
src: 'url',
caption: 'text'
}
]
},
{
name: 'MLK Day',
h_id: 'a2',
photos: [
{
src: 'url',
caption: 'text'
},
{
src: 'url',
caption: 'text'
}
]
}
]
【问题讨论】:
-
看起来像 Postgres does not have group_concat。
标签: sql json postgresql