Наиболее очевидное соединение находится в столбце col1
, который возвращает 4 строки:
SQL> with
2 t1 (col1, col2) as
3 (select 'A1', 'B1' from dual union all
4 select 'A1', 'B2' from dual
5 ),
6 t2 (col1, col2) as
7 (select 'A1', 'C1' from dual union all
8 select 'A1', 'C2' from dual
9 )
10 select a.col1, a.col2 a_col2, b.col2 b_col2
11 from t1 a join t2 b on a.col1 = b.col1
12 order by a.col1, a.col2, b.col2;
COL1 A_COL2 B_COL2
------- ------- -------
A1 B1 C1
A1 B1 C2
A1 B2 C1
A1 B2 C2
SQL>
Это все комбинации, которые вы назвали, так что - как сделать вы «иногда» получаете только два из них, а «иногда» еще два? Что не так с еще двумя результатами (как вы сказали, вы не хотите, чтобы они отображались вообще)?