Cartesian-Join with the blank table

Posted on 2008-06-25
Last Modified: 2012-06-27
Sample Query:                                                                                    
SELECT     *                                                                                      
FROM       TEMP01,TEMP02,TEMP03,TEMP04,TEMP05,TEMP06,TEMP07,TEMP08,TEMP09,TEMP10,                
I have to DO the Cartesian-Join with all the 22 Tables, The problem is if any one of the table is
blank then the result set also empty,                                                            
How can i handle this?. In the table set any table/Combination can be blank.                      
Question by:midwestexp
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 74

Expert Comment

ID: 21869987
you would have to do an outer join to any table that might be missing data.

however,  are you sure you really need to do a 22-way join?

Author Comment

ID: 21870935
Yes i have to include all the 22 Tables, Please explain me How to Do that.
LVL 10

Expert Comment

ID: 21871412
is this a trick question?  I'm trying to think of a reason to ever do this.
do all of the tables have the same number of columns?
what is the ddl for temp01?

[Live Webinar] The Cloud Skills Gap

As Cloud technologies come of age, business leaders grapple with the impact it has on their team's skills and the gap associated with the use of a cloud platform.

Join experts from 451 Research and Concerto Cloud Services on July 27th where we will examine fact and fiction.


Author Comment

ID: 21871705
Each table have only one column,

create table temp01 (
    a varchar2(1)
LVL 27

Accepted Solution

sujith80 earned 500 total points
ID: 21872064
Cartesian join of 22 tables will be a bad idea, if they are big tables. Probably you can do something programmatically to achieve the actual goal behid this.
To answer the question you may use a query like this, extend it for the 22 tables.
select * from 
(select * from TEMP01 union all select null from dual where not exists(select 1 from TEMP01 )) , 
(select * from TEMP02 union all select null from dual where not exists(select 1 from TEMP02 )) , 
(select * from TEMP03 union all select null from dual where not exists(select 1 from TEMP03 )) 

Open in new window


Author Closing Comment

ID: 31470774
Thank You Very Much.

Featured Post

Get HTML5 Certified

Want to be a web developer? You'll need to know HTML. Prepare for HTML5 certification by enrolling in July's Course of the Month! It's free for Premium Members, Team Accounts, and Qualified Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

How to Create User-Defined Aggregates in Oracle Before we begin creating these things, what are user-defined aggregates?  They are a feature introduced in Oracle 9i that allows a developer to create his or her own functions like "SUM", "AVG", and…
Background In several of the companies I have worked for, I noticed that corporate reporting is off loaded from the production database and done mainly on a clone database which needs to be kept up to date daily by various means, be it a logical…
This video shows how to copy a database user from one database to another user DBMS_METADATA.  It also shows how to copy a user's permissions and discusses password hash differences between Oracle 10g and 11g.
Via a live example, show how to take different types of Oracle backups using RMAN.
Suggested Courses

628 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question