跨多个表的层次查询

时间:2015-10-16 15:48:28

标签: sql oracle

我有5张表,如图所示。

ITEM_TYPE

Item_Type_ID  Item_Type_Name        Item_Class
1         System Group              Group
2         System Component          Component
3         System Component Item     Item
4         Description               Information
5         Further Description       Information
6         Space Group               Group
7         Void Space                Space

Item_Type_Relationship

Item_Type_Relationship_ID   F_Item_Type_ID  S_Item_Type_ID  Level
1                          1                2                2
2                          1                6                2
3                          2                3                3
4                          3                4                4
5                          3                5                4
6                          6                7                2

属性

Attribute_Type_ID   Attribute_Type_Name     Item_Type_ID
1                   Vertical Location       1
1                   Transverse Location     1
1                   Alphanumeric ID         1
2                   Alphanumeric ID         3
3                   Vertical Location       6
3                   Transverse Location     6
3                   Alphanumeric ID         6

Attribute_LOV

Attribute_Type_ID   Attribute_LOV_ID    Attribute_Value Item_Type_ID
1                         1                       Upper     1
1                         2                       Port      1
1                         3                       No.1      1
2                         4                       No.5      3
3                         5                       Upper     6
3                         6                       Starboard 6
3                         7                       No.10     6

项目

Item_ID  Asset_ID   Item Name                 Item_Type_ID
1          2    Upper Port No.1 System Group      1
2          2    System Component                  2
3          1    No.5 System Component Item        3
4          1    Description                       4
5          1    Further Description               5
6          1    Upper Starboard No.10 Space Group 6
7          1    Void Space                        7

F_Item_Type_ID是 父亲Item_Type_ID(与Item_Type_ID相关)和S_Item_Type_ID是兄弟Item_Type_ID(也与Item_Type_ID相关)。此表中的列level与兄弟(S_Item_Type_ID)层次结构中的级别相关。此表显示了数据库中层次结构的存在方式,但我发现很难在多个级别进行查询。

我想识别Item_Type.Item_Type_Name(s)中“系统组”下所有级别中存在的所有Attribute.Attribute_Type_Name(s)Attribute_LOV.Attribute_Value(s)Asset_ID = 1

我正在努力将所有这些群组加入到一起,并在START WITHCONNECT BY之间执行层次结构查询(使用F_Item_Type_IDS_Item_Type_ID)。

0 个答案:

没有答案