首页 > 解决方案 > Sql 查询-colum2 应该与下一个选定行的column1 匹配

问题描述

桌子

ID col1 coll2
1 104A 103A
2 301A 300A
3 103A 101A
4 102A 101A
5 201A 200A
6 101A 100A

如果我在 where 条件下给出 col1 = 104A,输出应该像

ID1 col1 col2
1 104A 103A
3 103A 101A
6 101A 100A

col2 应该与下一个选定的行 col1 匹配

标签: sql

解决方案


您必须Recursive产生所需的输出

WITH cte AS (
  SELECT *
  FROM tbl t
  WHERE t.col1 = '104A'
  UNION ALL
  SELECT t.* 
  FROM tbl t join cte c on t.col1 = c.coll2 
)
SELECT * FROM cte

db<>fiddle中的演示


推荐阅读