Bho*_*omi 10 json postgresql-9.2
我试图使用2个表创建嵌套的json数组.
我有2个表日记和journaldetail.
架构是 -
期刊:journalid,totalamount
journaldetail:journaldetailid,journalidfk,account,amount
期刊与期刊之间的关系是一对多的.
我希望输出格式如下:
{ journalid : 1,
totalamount : 1000,
journaldetails : [
{
journaldetailid : j1,
account : "abc",
amount : 500
},
{
journaldetailid : j2,
account : "def",
amount : 500
}
]}
Run Code Online (Sandbox Code Playgroud)
但是,通过按照此帖子编写此查询,查询为:
select j.*, row_to_json(jd) as journal from journal j
inner join (
select * from journaldetail
) jd on jd.sjournalidfk = j.sjournalid
Run Code Online (Sandbox Code Playgroud)
输出是这样的:
{ journalid : 1,
totalamount : 1000,
journaldetails :
{
journaldetailid : j1,
account : "abc",
amount : 500
}
}
{ journalid : 1,
totalamount : 1000,
journaldetails :
{
journaldetailid : j2,
account : "def",
amount : 500
}
}
Run Code Online (Sandbox Code Playgroud)
我希望子表数据作为父表中的嵌套数组.
Bho*_*omi 18
我从这里找到答案:
这是查询:
select row_to_json(t)
from (
select sjournalid,
(
select array_to_json(array_agg(row_to_json(jd)))
from (
select sjournaldetailid, saccountidfk
from btjournaldetail
where j.sjournalid = sjournalidfk
) jd
) as journaldetail
from btjournal j
) as t
Run Code Online (Sandbox Code Playgroud)
这给出了数组格式的输出.
归档时间: |
|
查看次数: |
6568 次 |
最近记录: |