Oracle SQL从包含值减1位的其他表列中选择一个表列的最终值,类似于值

Oracle SQL从包含值减1位的其他表列中选择一个表列的最终值,类似于值,sql,oracle,inner-join,sql-like,Sql,Oracle,Inner Join,Sql Like,在Oracle数据库中,我有一个DBTable1列,其中包含一个已知值1,例如:4649843545945894537 这个数据库中还有另一个第二个DB表,它包含一列,第一个DB表的值加上一个随机数字,这是这个数字的完整值(值2),它是唯一的。 例如,第二个表的完整值2为:46498435459458945374 因此,使用SQL,我需要通过选择第一个表中的已知值1并使用“like”在第二个表中找到唯一值2,从而在第二个表中找到数字的完整值2。 因此,SQL需要类似于(伪代码/SQL): 因此,

在Oracle数据库中,我有一个DBTable1列,其中包含一个已知值1,例如:4649843545945894537 这个数据库中还有另一个第二个DB表,它包含一列,第一个DB表的值加上一个随机数字,这是这个数字的完整值(值2),它是唯一的。 例如,第二个表的完整值2为:46498435459458945374 因此,使用SQL,我需要通过选择第一个表中的已知值1并使用“like”在第二个表中找到唯一值2,从而在第二个表中找到数字的完整值2。 因此,SQL需要类似于(伪代码/SQL):

因此,在我们的示例案例中,应转换为以下内容:

select value2 from table2 where value2 like '4649843545945894537%';
它应该返回4649843545945894537的值24 希望这是我所需要的。
谢谢。

您似乎想要加入

select t1.value1, t2.value2
from t1
inner join t2 on t2.value2 like t1.value1 || '_'
这只允许在
value2
的末尾增加一个字符

查询假设您的值是字符串。如果你有数字,那么我推荐算术:

select t1.value1, t2.value2
from t1
inner join t2 on floor(t2.value2/10) = t1.value1
select t1.value1, t2.value2
from t1
inner join t2 on floor(t2.value2/10) = t1.value1