Saya memiliki tiga tabel yang ingin saya gabungkan dan hasilkan dalam dokumen JSON. Tabel1 adalah orang tua dan memiliki dua anak Tabel2 dan Tabel3.

Saya kesulitan mendapatkan JSON untuk memformat seperti ini

{
"Table1": [
    {
        "DOC_ID": 201300624951,
        "DOC_DESCR": null,
        "Table2": [
            {
                "DOC_ID": 201300624951,
                "DOC_DESCR": null,
                "PAY_ACCT_NO": null,
                "APPLY_TO_DOC_NO": null,
                "APPLY_TO_DOC_DAT": null,
                "APPLY_TO_DOC_TYP": null,
                "PAY_APPLY_METH": null,
                "PAY_AMT": null,
                "DwCreateDate": null
            }
        ],
        "Table3": [
            {
                "DOC_ID": 201300624951,
                "PKG_TRK_SEQ_NO": null,
                "PKG_TRK_NO": null,
                "DwCreateDate": null
            }
        ]
    }
]

}

Di mana DOC_ID adalah kunci yang mengikat semua tabel menjadi satu.

Saya menghargai bantuan apa pun dan saya dapat memberikan data sampel jika diperlukan. Terima kasih!

1
Michael Esposito 6 Mei 2021, 22:42

1 menjawab

Jawaban Terbaik

Sesuatu seperti ini harus bekerja:

select *,
 (select * from table2 where table1.doc_id=table2.doc_id for json path, include_null_values) as Table2,
 (select * from table3 where table1.doc_id=table3.doc_id for json path, include_null_values) as Table3
from table1
for json path, root('Table1'), include_null_values
0
Jayvee 6 Mei 2021, 20:20