这段代码没有达到我的目的:
joins(
'LEFT OUTER JOIN cats ON owners.id = cats.owner_id AND "cats"."hungry" IS FALSE'
).where(
'cats.hungry IS FALSE OR cats.hungry IS NULL'
)
有3条所有者记录:A、B和C
有两条猫记录:猫A(饥饿),猫B(不饥饿)
我想将所有者分为2组:
我希望所有者:
1.)猫的主人饿了。2)没有猫链接(即猫。饥饿是空的)-或链接的猫不饿
1.)业主A有一只饿猫:A类
2.)主人B的猫不饿(猫B)&主人C没有猫。
我以为上面的左连接会得到我-猫那里有一个连接,但只有连接的猫是不饿。
1条答案
按热度按时间igetnqfo1#
您需要删除第二个ON条件,以便每个有或没有cat的所有者都存在,并且只有where lause决定必须删除哪些行