RethinkDB - 左连接 joined_table.identifier 为空?
RethinkDB - Left join where joined_table.identifier is null?
我在 RethinkDB 数据库中有两个表示 one-to-many 关系的表。考虑以下两个表:
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上有二级索引。我想找出哪个 parents 没有 child。 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 中完成类似的结果?谢谢!
我会这样做:
r.table('t1').filter(function(parent) {
return r.table('t2').get_all(parent('ParentId'), {index: 'ParentId'}).count().eq(0);
})
我在 RethinkDB 数据库中有两个表示 one-to-many 关系的表。考虑以下两个表:
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上有二级索引。我想找出哪个 parents 没有 child。 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 中完成类似的结果?谢谢!
我会这样做:
r.table('t1').filter(function(parent) {
return r.table('t2').get_all(parent('ParentId'), {index: 'ParentId'}).count().eq(0);
})