0

我有下表定义

table Rec
{
integer attrib_id
integer attrib_value,
integer unique_id
}

属性有另一个映射如下表属性

{
  integer attrib_id,
  integer group_id
}

我有大约 20 个属性 id 分配给不同的组 id。表 Rec 中的 group_id 可能不存在属性 id。我为特定的组 ID 创建了以下视图,如下所示 -

create view group as 
  select tr1.attrib_value as "Name", 
         tr2.attrib_value as "Age", 
         tr3.attrib_value as "Sex"
    from Rec tr1, 
         Rec tr2, 
         Rec tr3
   where tr1.unique_id = tr2.unique_id
     and tr2.unique_id = tr3.unique_id
     and tr1.unique_id = tr3.unique_id
     and tr1.attrib_id = 1
     and tr2.attrib_id = 2
     and tr3.attrib_id = 3

我想从垂直表列表创建水平映射。问题是表中可能没有特定属性Rec。所以那里的条款失败了。

有什么办法可以解决这个问题吗?

4

1 回答 1

-1

创建一个包含所有可能属性的表,然后将属性表左连接到它。

于 2013-10-13T16:23:38.990 回答