我想加入两个单独的查询。并显示他们的信息。第一个查询是来自加拿大的公司,第二个查询是名称为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>
怎么做 ???
最佳答案
搜索:-
您可以使用例如q=name:incremento&fq=location:Canada
-仅在具有加拿大位置的公司中搜索名称为Incremento的公司fq=location:Canada&fq=name:Incremento
-过滤具有位置CANADA和名称Incremento的公司
索引:
您可以通过对来自加拿大和名称为Incremento的公司使用OR来在SQL查询中进行处理。
例如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>