加入2个表格进行价值比较

问题描述 投票:0回答:1

我有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的形式得到。但是我不希望它出现在第二种形式中。任何人都可以提出任何查询来帮助我实现这一目标。在此先感谢

oracle join
1个回答
0
投票

最明显的joincol1列上,该列返回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组合,所以-您如何“有时”只得到其中的两个,而又“有时”又得到两个? 另外两个结果有什么问题(如您所说,您根本不希望它们显示)?

© www.soinside.com 2019 - 2024. All rights reserved.