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;