Oracle SQL select 一个 table 列的最终值与其他 table 列中包含值减 1 位的值相似
Oracle SQL select final value of one table column like value from other table column that contains value minus 1 digit
在 Oracle 数据库中,我有 1 个数据库 table1 列,其中包含一个已知值 1,例如:4649843545945894537
此数据库中还有另一个 2nd DB table,其中包含一个列,该列的值是 1st DB table 加上 1 个随机数字,这是该数字的完整值(value2)并且是唯一的.
例如第二个table的完整值2是:46498435459458945374
因此,使用 SQL 我需要通过选择第一个 table 的已知值 1 并使用“like”找到完整的唯一值,从而在第二个 table 处找到数字的完整值 2 value2 在第 2 个 table。
所以,需要 SQL 是这样的(伪 code/SQL):
select value2 from table2 where value2 like '$(value1)%';
因此,在我们的示例中,应翻译成以下内容:
select value2 from table2 where value2 like '4649843545945894537%';
对于值 2 应该 return 46498435459458945374
希望这很清楚我需要什么。
谢谢。
你似乎想要一个 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
在 Oracle 数据库中,我有 1 个数据库 table1 列,其中包含一个已知值 1,例如:4649843545945894537 此数据库中还有另一个 2nd DB table,其中包含一个列,该列的值是 1st DB table 加上 1 个随机数字,这是该数字的完整值(value2)并且是唯一的. 例如第二个table的完整值2是:46498435459458945374 因此,使用 SQL 我需要通过选择第一个 table 的已知值 1 并使用“like”找到完整的唯一值,从而在第二个 table 处找到数字的完整值 2 value2 在第 2 个 table。 所以,需要 SQL 是这样的(伪 code/SQL):
select value2 from table2 where value2 like '$(value1)%';
因此,在我们的示例中,应翻译成以下内容:
select value2 from table2 where value2 like '4649843545945894537%';
对于值 2 应该 return 46498435459458945374 希望这很清楚我需要什么。 谢谢。
你似乎想要一个 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