Java DB2根据给定的输入对表中的值重新编号

Java DB2根据给定的输入对表中的值重新编号,java,database,db2,Java,Database,Db2,我有两个专栏 from | to --------------- abc | pqr pqr | xyz 从列值分配到列。我想对表中给定的输入重新编号。如果我给出了abc,那么它应该返回我xyz。因为abc分配给pqr和pqr分配给xyz。因此xyz是abc的重新编号值。像这样,如果我输入,我的查询应该检查所有赋值并返回最后一个赋值。我该怎么做呢 到目前为止,我已经尝试了从表中选择列,其中fromcolumn='abc'您可以使用递归公共表表达式(RCTE): W

我有两个专栏

from   |    to
---------------
abc    |   pqr
pqr    |   xyz
列值分配到列。我想对表中给定的输入重新编号。如果我给出了
abc
,那么它应该返回我
xyz
。因为
abc
分配给
pqr
pqr
分配给
xyz
。因此
xyz
abc
的重新编号值。像这样,如果我输入,我的查询应该检查所有赋值并返回最后一个赋值。我该怎么做呢


到目前为止,我已经尝试了
从表中选择列,其中fromcolumn='abc'
您可以使用递归公共表表达式(RCTE):

WITH 
/*
  TAB (from, to) AS 
(
VALUES
  ('abc', 'pqr')
, ('pqr', 'xyz')
)
,
*/
T (LEVEL, FROM) AS 
(
SELECT 0, TO FROM TAB WHERE FROM='abc'
  UNION ALL
SELECT T.LEVEL+1, A.TO FROM TAB A, T WHERE A.FROM = T.FROM
)
SELECT FROM 
FROM T 
ORDER BY LEVEL DESC 
FETCH FIRST 1 ROW ONLY;