Hello expert,
I need to make a relation between two tables HCMEMPLOYMENT and DefaultDimensionView
when I run this query in SQL server its return the exact result I want
select * from HCMEMPLOYMENT left join DefaultDimensionView on (DefaultDimensionView.DEFAULTDIMENSION = HCMEMPLOYMENT.DEFAULTDIMENSION) where DefaultDimensionView.NAME = 'Department' and DefaultDimensionView.DISPLAYVALUE >= '022' and DefaultDimensionView.DISPLAYVALUE <= '022' order by 1
but with this query below it returns all the data in the tables. I need to edit this query to bring the employees in the department 022
query = this.parmQuery(); qbdsEmployment = query.dataSourceTable(tableNum(HcmEmployment)); qbdsDimensions = qbdsEmployment.addDataSource(tableNum(DefaultDimensionView)); qbdsDimensions.firstOnly(true); qbdsDimensions.joinMode(JoinMode::OuterJoin); qbdsDimensions.relations(false); //qbdsDimensions.fetchMode(QueryFetchMode::One2One); //qbdsDimensions.addLink(fieldNum(HcmEmployment,DefaultDimension),fieldNum(DefaultDimensionView,DefaultDimension)); qbdsDimensions.addLink(fieldNum(DefaultDimensionView,DefaultDimension),fieldNum(HcmEmployment,DefaultDimension)); qbdsDimensions.addRange(fieldNum(DefaultDimensionView,Name)).value(queryValue("Department")); qbdsDimensions.addRange(fieldNum(DefaultDimensionView,DisplayValue)) .value(queryRange(queryValue("022") ,queryValue("022")));
I don't know why the filter is not working.
if I change joinmode from outer to exists the filter works and return employees in department 022
if i clear the filter it's return employees only have dimensions