我在 SQL Server 中有一个数据库。我需要对表本身进行连接查询,menutable.
但是,结果集中完全没有左表。我只从正确的表中得到结果。
此外,我无法像在 PostgreSQL 中那样将右表聚合到类似对象的数组中,并且不能有group byed左表 id结果集,我group by用于左表 id。
我可以在 PostgreSQL 中实现这一点我执行以下查询并得到我期望和想要的。我使用 PostgreSQL 的json_agg聚合函数:
select mt1.*, json_agg(mt2.*)
from menutable mt1
join menutable mt2 on mt1.id = mt2.üstmenuid
group by mt1.id;
Run Code Online (Sandbox Code Playgroud)
结果:
{
"results": [
{
"id": 4,
"menuadi": "Ortak Haberler",
"üstmenuid": null,
"json_agg": [
{
"id": 5,
"menuadi": "Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"üstmenuid": 4
}, …Run Code Online (Sandbox Code Playgroud)