我在RethinkDB数据库中有两个表,它们代表一对多的关系。请考虑以下两个表:
t1
ParentId Name
1 lorem
2 ipsum
3 dotor
4 sit
5 amet
t2
ChildId ParentId ChildName
1 1 something
2 3 random
3 5 here
在t1上,ParentId是主键,在t2上,ParentId上有一个二级索引。我想找到哪些父母没有孩子。 SQL中的操作(确切地说是MSSQL)如下所示:
SELECT t1.*
FROM t1
LEFT OUTER JOIN t2 ON t2.ParentId = t1.ParentId
WHERE t2.ChildId IS NULL
Results:
ParentId Name
2 ipsum
4 sit
如何在RethinkDB中完成此类似的结果?谢谢!
答案 0 :(得分:2)
我会这样做:
r.table('t1').filter(function(parent) {
return r.table('t2').get_all(parent('ParentId'), {index: 'ParentId'}).count().eq(0);
})