输入表1(5 6 7)(5 6 7)和表2(5 6 7),括号中的两个都是带有值的列,我想获得表2中5的5

ymdaylpp  于 2022-10-04  发布在  Oracle
关注(0)|答案(1)|浏览(100)

表1
Col1|col2

5|5个
6|6
8|8

表2 5|6|5 6|5 8|8|5

预期产量|五|六|五||六|五||八|八|五

0yg35tkg

0yg35tkg1#

你所说的那个“链接”叫做加入

正如你所说,这将是如下的:

示例数据(您已经有了,但不需要键入):

SQL> with
  2  table_1 (col1, col2) as
  3    (select 5, 'five'  from dual union all
  4     select 6, 'six'   from dual union all
  5     select 8, 'eight' from dual
  6    ),
  7  table_2 (col1) as
  8    (select 5  from dual union all
  9     select 6  from dual union all
 10     select 8  from dual
 11    )
 12  --

查询从此处开始:

13  select b.col1
 14  from table_1 a join table_2 b on a.col1 = b.col1
 15  where a.col2 = '&par_col2';
Enter value for par_col2: five

      COL1
----------
         5

SQL> /
Enter value for par_col2: eight

      COL1
----------
         8

SQL>

根据您使用的工具,where子句可能使用绑定变量而不是替代变量(我在SQL*Plus中使用),即

where a.col2 = :par_col2

另一方面,你需要table_2做什么?您需要的一切都包含在table_1中,因此查询将是

<snip>
 13  select a.col1
 14  from table_1 a
 15  where a.col2 = '&par_col2';
Enter value for par_col2: six

      COL1
----------
         6

SQL>

相关问题