小编sçu*_*uçu的帖子

自联接查询中的 JSON 聚合

我在 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)

sql-server aggregate json

5
推荐指数
1
解决办法
2462
查看次数

标签 统计

aggregate ×1

json ×1

sql-server ×1