问题描述
在 List1 中,一个项目类似于:
out_type: "organizational_unit",edge_type: "has_account",in_type: "account",out_min: 1,out_max: 1,in_min: 1,in_max: 17
在 List2 中,一个项目类似于:
out_type: "organizational_unit",out_min: 0
正如我所说,我想用 list2 (list2.out_min) 的所有现有项更新 list1 (list1.out_min) 的所有匹配项。所以当在 list1 中我的 out_min = 17 时,它应该是 0 之后。
我试过的这个查询:
with list1,list2
unwind list1 as l1
with list1 as origin,list2,l1
unwind list2 as l2
with distinct CASE
WHEN l1.out_type = l2.out_type and l1.edge_type = l2.edge_type and l1.in_type = l2.in_type
THEN {out_min: l2.out_min,out_max: l1.out_max,out_type: l1.out_type,edge_type: l1.edge_type,in_type: mm.in_type,in_min: mm.in_min,in_max: mm.in_max}
ELSE l1
END as list1,origin
return origin as origin_list1,collect(list1) as new_list1
不幸的是,所有更新的条目现在都出现了两次。第一次是我的正确更新,第二次是未更新的条目。
这对我来说是有道理的,因为在放松期间,我将保证匹配,而所有其他“非匹配”将直接进入我的案例的 ELSE 部分......我现在的问题是,我完全不知道如何解决这个问题。是否有可能以这种方式合并列表?如何避免“旧”列表条目?
感谢您的帮助:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)