我有一个 SQLite 表,其结构类似于以下内容:
ID | 类型 | 父母身份 |
---|---|---|
1000 | A | 1050 |
1001 | 乙 | 1067 |
1002 | 1000 | |
1003 | C | 1100 |
1004 | 乙 | 1378 |
1005 | 1002 | |
1006 |
我需要创建一个 SQL 查询,该查询返回所有记录,其中使用 PARENT_ID 填充 TYPE 列为空,忽略那些没有 PARENT_ID 的记录。结果应该是这样的:
ID | 类型 | 父母身份 |
---|---|---|
1000 | A | 1050 |
1001 | 乙 | 1067 |
1002 | A | 1000 |
1003 | C | 1100 |
1004 | 乙 | 1378 |
1005 | A | 1002 |
1006 |
您会注意到,对于 ID 1005,SQL 查询将需要使用 PARENT_ID 进行递归查询,最终从 ID 为 1000 的记录中检索 A 的 TYPE 值。
我假设 SQL 中的递归函数将有助于满足此要求,但由于我以前没有使用过递归 SQL,因此我需要一些帮助来构建 SQL 查询。
任何帮助将不胜感激。