Welcome Guest! Log in
×

Notice

The forum is in read only mode.
Stambia versions 2.x, 3.x, S17, S18, S19 and S20 are reaching End of Support January, 15th, 2024. Please consider upgrading to the supported Semarchy xDI versions. See Global Policy Support and the Semarchy Documentation.

The Stambia User Community is moving to Semarchy! All the applicable resources have already been moved or are currently being moved to their new location. Read more…

Topic-icon Question Join in Oracle Database

  • fxh
  • fxh's Avatar Topic Author
22 May 2019 16:30 #1 by fxh
Join in Oracle Database was created by fxh
I've got an issue when I use the join possibilities.

The generated code is

select DISTINCT
F41001.CIAN8 L1_CIAN8
from ((FINDTA.F41001 F41001
INNER JOIN FINDTA.F0006 F0006
ON F41001.CIMCU = F0006.MCMCU)
RIGHT OUTER JOIN FINDTA.F03012 F03012
ON F41001.CIAN8 = F03012.AIAN8)
LEFT OUTER JOIN FINDTA.F00092 F00092
ON F03012.AIAN8 =F00092.T3SBN1
and F03012.AICO =F00092.T3KCO
where (1=1) AND (F00092.T3SDB = 'CLI') AND (F00092.T3TYDT = 'IT')

This request only return 1 line

When I delete WHERE (1=1) the new sql

select DISTINCT
F41001.CIAN8 L1_CIAN8
from ((FINDTA.F41001 F41001
INNER JOIN FINDTA.F0006 F0006
ON F41001.CIMCU = F0006.MCMCU)
RIGHT OUTER JOIN FINDTA.F03012 F03012
ON F41001.CIAN8 = F03012.AIAN8)
LEFT OUTER JOIN FINDTA.F00092 F00092
ON F03012.AIAN8 =F00092.T3SBN1
and F03012.AICO =F00092.T3KCO AND (F00092.T3SDB = 'CLI') AND (F00092.T3TYDT = 'IT')

works perfectly

My question is : How to remove the WHERE condition.....
More
24 May 2019 13:58 #2 by Thomas BLETON
Replied by Thomas BLETON on topic Join in Oracle Database
Hi,

I suppose that the expression "(F00092.T3SDB = 'CLI') AND (F00092.T3TYDT = 'IT')" is set in a Filter, in the mapping ?
Filter expressions are generated in a where clause.
If you want them to appear in the JOIN clause, then place this expression in the Join expression.
Please provide more details if this does not help :) (screenshot of the mapping and of each Join / Filter expression).