我试图在三张桌子之间进行连接。
让我们调用这些表,表a,b和c。
表a有一个主键,它是b中外键的目标。 类似地,表a的主键是来自c的外键的目标。
我想要做的结束查询就像是
SELECT * FROM a WHERE b.foreign_key = a.primary_key OR c.foreign_key = a.primary_key
我的queryBuilder现在看起来像这样(从表a开始):
qb.innerJoin('b', 'b.foreign_key', 'a.primary_key')
qb.innerJoin('c', 'c.foreign_key', 'a.primary_key')
我认为这是错误的,因为当我们为表c进行连接时,它会在a和b之间的先前连接中起作用。
有没有办法可以进行这种三向连接,其中连接是相互添加/相互连接的?
答案 0 :(得分:0)
解决了它。
我只需要使用左连接。使用左连接将保留我的原始表(表a),并防止它像我加入a时发生的那样被剔除。