SQL使用Knex从两个表中提取链接的配置文件

问题描述

我目前有两个包含以下数据的表:

Parent: ID,Name,PIN
Child: ID,PIN,ParentID

我目前使用Knex这样设置查询

db('Parents AS P')
    .join('Children AS C','C.ParentID','P.ID')
    .where('C.ParentID',ID)
    .select([
      'C.PIN AS ChildPIN','C.Name AS ChildName','P.Name AS ParentName','P.PIN AS ParentPIN',])

我当前正在将数据解析为以下格式:

[
  { Name: 'Name1',PIN: '1234',type: 'Parent' },{ Name: 'Name2',PIN: '2345',type: 'Child' }
]

这完全可以正常工作,除了父母没有孩子的情况之外,因为它根本不会提取任何数据,包括父母信息。在这种情况下,有什么解决方法可以避免必须执行第二个API请求?谢谢!

解决方法

使用左外连接代替连接

delete()