我有2个表,其中包含如下数据:
Table1-
Col1. Col2
A1. B1
A1. B2
Table2-
Col1. Col2
A1. C1
A1. C2
现在,当我加入这两个表以比较col2时,有时会得到A1-B1-C1;A1-B2-C2
之类的输出,有时我会以A1-B1-C2;A1-B2-C1
的形式得到。但是我不希望它出现在第二种形式中。任何人都可以提出任何查询来帮助我实现这一目标。在此先感谢
最明显的join在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>
这些是您命名的all组合,所以-您如何“有时”只得到其中的两个,而又“有时”又得到两个? 另外两个结果有什么问题(如您所说,您根本不希望它们显示)?