如何通过另一个表中的部分数据获得输出

时间:2015-05-18 12:06:25

标签: sql oracle

Table A:
id      code
---------------
1        90
2        85
3        75

表B:

id            title
---------------------
902313        reza
854646        matin
755346        amir
602545        martin
105456        ghdsa
表A的代码字段中的

值是表B的id的一部分。 我想从表B(输出后)获得输出,其中表A具有表B的id值的一部分

----output-----
id            title
---------------------
902313        reza
854646        matin
755346        amir

另一个词如何在表B上查询,其中表B的id是表A的代码的一部分。

1 个答案:

答案 0 :(得分:1)

您需要使用 SUBSTR 功能加入。

子字符串会为您提供以下输出:

SQL> SELECT substr(902313, 1, 2) FROM dual;

SU
--
90

SQL>

必填查询:

SELECT b.* 
  FROM table_a a, table_b b
 WHERE TO_CHAR(a.id) = SUBSTR(b.code, 1, 2);

如果 NUMBER 类型,请在ID列上使用 TO_CHAR ,以避免任何隐式数据类型转换