Oracle SQL选择一个表列的最终值,就像从包含值减去1位的其他表列中选择值一样



在Oracle数据库中,我有一个DB表1列,其中包含一个已知值1,例如:464843545945894537这个数据库中还有另一个第二个DB表,它包含一列,第一个DB表的值加上一个随机数字,这是这个数字的完整值(value2(,它是唯一的。例如,第二个表的完整值2是:4649843559458945374因此,使用SQL,我需要通过选择第一个表的已知值1并使用";像";要查找,请在第2个表中填写唯一值2。因此,需要SQL类似于(伪代码/SQL(:

select value2 from table2 where value2 like '$(value1)%';

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

select value2 from table2 where value2 like '4649843545945894537%';

应该会返回值2 4649843559458945374希望这清楚我需要什么。非常感谢。

您似乎想要一个join:

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

相关内容

  • 没有找到相关文章

最新更新