2
我想知道在cascalog中为可能为null的字段进行外连接时指定默认值的最佳方式是什么。为左外连接提供默认值
(def example-query
(<- [?id ?fname ?lname !days-active]
(users :> ?id ?fname ?lname)
(active :> ?fname ?lname !days-active))
在这个例子中用户和活动将预先定义的查询,我只是希望活动的用户信息进行关联(?FNAME?L-NAME!天激活)和普通用户的信息(?ID?FNAME?LNAME )
因此,当如果是为没有相应的信息联接发生了!天活性的零 即
392393 john smith 3
003030 jane doe 0
,而不是
它会输出0,而不是392393 john smith 3
003030 jane doe null
更新了例
(<- [!!database-id ?feature !!user-clicks !!engaged-users ?application-id ?active-users]
(app-id-db-id-feature-clicks-engaged :> ?application-id !!database-id ?feature !!user-clicks !!engaged-users)
(user-info :> ?application-id ?feature ?active-users))]
例如输出将看起来大致如下
4234 search null null 222 5000
3232 profile 500 400 331 6000
与我有兴趣,我可以改变,这将是!!对于从事领域的过滤用户和!!用户点击具有0而不是null。会使用多个或谓词有效吗?
我更新了这个例子,以提供更多信息/更接近我的实际问题。你会使用一个或谓词仍然工作? – mcgeep
是的,我敢打赌,你可以编写一个谓词宏,它会扩展出来,让你在一行中完成。应该很好走。 –
谢谢你的帮助! – mcgeep