我想加入两个单独的查询。并显示他们的信息。第一个查询是来自 Canada 的公司,第二个查询是名为 Incremento 的公司。所以我需要运行单独的查询并加入结果信息。
我的架构是:
<entity name="firm" dataSource="jdbc" pk="id"
query="select * from firm"
deltaImportQuery="select * from firm where id='${dih.delta.id}'"
deltaQuery="select id from firm where upd_date > '${dih.last_index_time}'">
<field column="id" name="id"/>
<field column="ADDRESS" name="address"/>
<field column="EMPLOYEE" name="employee"/>
<field column="NAME" name="name"/>
<field column="VILLAGE" name="village"/>
<field column="ZIPCODE" name="zipcode"/>
<field column="PLACE" name="place"/>
<entity name="country" pk="id"
query="select country from country where id='${firm.country}'"
deltaQuery="select id from country where upd_date > '${dih.last_index_time}'"
parentDeltaQuery="select id from firm where country=${country.id}">
<field column="country" name="countryName"/>
</entity>
</entity>
怎么做???
答案 0 :(得分:0)
搜索: -
您可以使用例如
q=name:incremento&fq=location:Canada
- 仅在位置为Canada的公司中搜索名称为Incremento的公司
fq=location:Canada&fq=name:Incremento
- 使用位置CANADA过滤公司并命名为Incremento
索引: -
您可以在SQL查询中使用OR来处理它,对于来自加拿大的公司和名为Incremento的公司
例如SELECT * FROM FIRMS WHERE COUNTRY='CANADA' OR NAME='INCREMENTO'
OR DIH仅允许标记。你可能有多个根标签。例如
<dataSource driver="..." url="..." user=".." />
<document name="companies">
<entity name="firm_canada" dataSource="jdbc" pk="id"
query="select * from firm"
deltaImportQuery="select * from firm where id='${dih.delta.id}'"
deltaQuery="select id from firm where upd_date > '${dih.last_index_time}'">
<field column="id" name="id"/>
....
</entity>
<entity name="firm_incremento" dataSource="jdbc" pk="id"
query="select * from firm where ..."
deltaImportQuery="select * from firm where id='${dih.delta.id}'"
deltaQuery="select id from firm where upd_date > '${dih.last_index_time}'">
<field column="id" name="id"/>
....
</entity>
</document>
</dataSource>