【发布时间】:2019-01-17 19:09:16
【问题描述】:
我正在使用 knex.js 库从名为“empresas”的第一个表中选择数据,并尝试从名为“sucursales”的第二个表中获取 sum('sucursales.dotacion as sum')。
到目前为止,我使用 node.js 的 knex.js 库获得了这个工作代码
knex.schema.raw("SET sql_mode=''").then(() => {
knex.select('*')
.from('empresas')
.leftJoin('sucursales', 'empresas.id', 'sucursales.id_empresas')
.sum('sucursales.dotacion as sum')
.groupBy('sucursales.id_empresas')
.then((rows) => {
for (row of rows) {
result += `${row['id']}` + ","
+ `${row['rut']}` + ","
+ `${row['empresa']}` + ","
+ `${row['razon_social']}` + ","
+ `${row['email']}` + ","
+ `${row['sum']}`
result += "<br/>";
}
res.send(JSON.stringify({ Sum : result}));
})
})
我的问题是,输出仅适用于两个表中的 id,我需要表“empresas”中的所有 id,当没有 sum() 时,只需将其设置为 NULL 或 0。
到目前为止,我尝试了内部联接、左右联接,但在完全外部联接时出现错误。
knex.select('empresas.id','empresas.rut','empresas.razon_social','empresas.email','sucursales.id_empresas','sucursales.dotacion')
我应该如何让mysql加入?
【问题讨论】: