gpt4 book ai didi

sql - 如何在数组中检索 INNER JOIN 的输出?

转载 作者:行者123 更新时间:2023-12-03 22:38:47 26 4
gpt4 key购买 nike

我有这个 SQL 查询

 '(SELECT “A”.”id" AS “aId”, “A”.”name”, “A”.”updatedAt" AS “aUpdatedDate”, “B”.”name” AS “b.name”, “B”.”status” AS “b.status”,  FROM “A” INNER JOIN “B” ON “A”.”id" = “B”.”a_id” WHERE EXISTS (SELECT “status” FROM “B” WHERE “B”.”a_id” = “A”.”id" AND “B”.”status" IN (‘pending’, ‘failed’))) OFFSET ? LIMIT ?’;

这将返回所需的数据,但问题是我很想以这种格式获取数据。这是预期的输出:
{
aid: 1,
name: 'nameOne',
aUpdatedDate: '2018-09-10',
Bs: [
{
name: 'b-one',
status: 'completed'
},
{
name: 'b-two',
status: 'pending'
}
]
}

但是输出将 B 的每个实例分开,而 B 又会复制返回的 A。返回的实际输出是这样的
{
aid: 1,
name: 'nameOne',
aUpdatedDate: '2018-09-10',
'b.name': 'b-one',
'b.status': 'completed'
},
{
aid: 1,
name: 'nameOne',
aUpdatedDate: '2018-09-10',
'b.name': 'b-two',
'b.status': 'pending'
},

对于一些上下文,您可以查看 StackOverflow 链接,该链接解释了我为什么使用 WHERE EXISTS 子句以及有关初始问题的一些背景知识。

最佳答案

我认为您正在使用 raw : true ,请将其删除或使其为 false :

sequelize.query('SELECT...', { type: sequelize.QueryTypes.SELECT , raw : false }).then(results => {
console.log(results)
})

你很高兴去。

关于sql - 如何在数组中检索 INNER JOIN 的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53956656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com