Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Save $650 on Qlik Connect, Dec 1 - 7, our lowest price of the year. Register with code CYBERWEEK: Register
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Cartesian product

Hi, how can I do to obtain a cartesian product between two oracle tables?I use tMap component. Thank you.
Labels (2)
21 Replies
Anonymous
Not applicable
Author

Hi,
A tOracleInput component is perhaps more adapted to your need! The tMap only accepts a main input flow and lookup tables.
Anonymous
Not applicable
Author

Thanks for your answer. Yes, I use 2 tOracleInput (for 2 tables) and 1 tMap and 1 tLogRow, but when I try to obtain the cartesian product with the tMap I get this warning : "The lookup table 'row2' should have at least one expression key filled" and in the result the fields of the second table are NULL . I think there is not a join between the 2 tOracleInput. What can I do? You can look the jpg below
Anonymous
Not applicable
Author

Hi,
What do you exactly mean by cartesian product ? My definition is :
SELECT *
FROM table1, table2

and I only need one tOracleInput component to produce it.
Anonymous
Not applicable
Author

Hi, and sorry for my english Smiley Sad
yes, cartesian prodact is:
select *
from table1, table2
where table1.a > 10
yes, I can write this select in tOracleInput,
but in my case table1 and table2 are two big select and I already use 2 tOracleInput, and now I?d like to create a job design where I can unite, with a condition, some fields from ?tOracleInput1? and some field from ?tOracleInput2? in to new table. For ?unite? the fields, I use the tMap, so I can explain the "where" conditions, but the tmap can not combine any fields without any join between tOracleInput1 and tOracleInput2. Which components do I have to use? Can you help me Smiley Sad
amaumont
Contributor III
Contributor III

Have you tried E.L.T. components such as tELTOracleInput, tELTOracleMap and tELTOracleOutput ?
You can see the pdf documentation on these components at this URL http://www.talend.com/tos/user-guide/V080/TalendOpenStudio_UG_0.8_Eng.pdf from page 130.
Anonymous
Not applicable
Author

Have you tried E.L.T. components such as tELTOracleInput, tELTOracleMap and tELTOracleOutput ?
You can see the pdf documentation on these components at this URL http://www.talend.com/tos/user-guide/V080/TalendOpenStudio_UG_0.8_Eng.pdf from page 130.

Hi, thanks for your answer. I've read the pdf documentation and I tried E.L.T. components such as tELTOracleInput, tELTOracleMap and tELTOracleOutput, but with E.L.T components I can make cartesian product but I can?t write my ?select? in tELTOracleInput, so I think it's not good for me Smiley Sad
amaumont
Contributor III
Contributor III

You can add where clauses in tELTOracleMap by pushing the button "Add filter row" in an output table.
One of the advantages of ELT components is performance because all processing are done by the Database server.
An other way is to use the tOracleRow. You can type your custom query and send results in a tOracleOutput component.
Anonymous
Not applicable
Author

You can add where clauses in tELTOracleMap by pushing the button "Add filter row" in an output table.
One of the advantages of ELT components is performance because all processing are done by the Database server.
An other way is to use the tOracleRow. You can type your custom query and send results in a tOracleOutput component.

Hi and thanks for your answer.
I understand that
?add where clauses in tELTOracleMap by pushing the button "Add filter row" in an output table? Smiley Happy
but in tELTOracleMap I can?t write my select; Smiley Sad

and I understand that
?An other way is to use the tOracleRow. You can type your custom query and send results in a tOracleOutput component? Smiley Happy
but I don?t want to write a big cartesian product in 1 tOracleRow or 1 tOracleInput . Smiley Sad
Thanks a lot Smiley Happy
amaumont
Contributor III
Contributor III

So, if I understand well, you would like to use a standalone component with a free field for typing your query such as
INSERT MyTable (MyColumn1, MyColumn2, MyColumn3, MyColumn4) (SELECT * FROM MyTable1, MyTable2)
Is it right ?
With Talend 2.0.0 you can execute this query in tOracleRow but you must connect a fake start component before to send one row, then the query will be executed.
With Talend 2.0.1 (not released yet) you will be able to use the tOracleRow alone.