如何使用 INNER JOIN 和 node-mysql 创建一个表数组?

How can I create a array of tables using INNER JOIN with node-mysql?

当使用 node-mysql 时,这个 select SELECT shop.shopId, shop.name, address.address FROM shop INNER JOIN address ON shop.shopId = address.shopId returns 一个 json 这样的:

[{
     "shopId":1,
     "name":"Lorem",
     "street":"Street XXXXX"
},{
     "shopId":1,
     "name":"Lorem",
     "street":"Street YYYYY"
},{
     "shopId":2,
     "name":"Ipsum",
     "street":"Street ZZZZZ"
}]

但我需要的是这样的东西

[{
     "shopId":1,
     "name":"Lorem",
     "street":[{"Street XXXXX"},{"Street YYYYY"}]
},{
     "shopId":2,
     "name":"Ipsum",
     "street":"Street ZZZZZ"
}]

我如何使用 node-mysql 来做到这一点? Knex 或 sequelize 可以吗?

尝试添加 GROUP BY shopId . 我想更改 Sql 字符串可以为您提供所需的结果。