Oracle SQL FieldType 为子页面时的递归查询

Oracle SQL Recursive Query When FieldType is Subpage

我有一个 table PanelDefn,其中包含以下字段的列表

PanelID  FieldID  RecordName FieldName LableText Subpanel  FieldType
PRV1     1        REC1       FLD1      Name                 1
PRV1     2        REC1       FLD2      Address              1 
PRV1     3        REC1       FLD3      Email                1
PRV1     4                                       SUB_PRV1   11
PRV1     5                                       SUB_PRV2   11
SUB_PRV1 1        REC2      FLD1       Address1             1
SUB_PRV1 2        REC2      FLD2       Address2             1
SUB_PRV1 3        REC2      FLD3       City                 1
SUB_PRV1 4        REC2      FLD4       Postal               2
SUB_PRV2 1        REC3      FLD1       EmailTYpe            1
SUB_PRV2 2        REC3      FLD2       PrimaryFlag          1

我想编写一个查询,当我查询面板时递归地给出子面板的数据。这意味着每当我们遇到 FieldType=11 时,我们需要 递归查询。 我尝试使用 connect-by.

我猜你需要以下查询 -

SELECT *
FROM DATA
START WITH PanelID = 'PRV1'
CONNECT BY PRIOR Subpanel = PanelID

这将通过比较 PanelID 和 Subpanel 递归生成记录,然后使用 START WITH 子句过滤掉不需要的记录。