从名称值对表创建Oracle视图

问题描述:

伙计,从名称值对表创建Oracle视图

我有一个具有名称值对的oracle数据库表。一组名称值对由row_num标识。同样的大小可能会有所不同

我想创建它转换名称值对定位成一排图的图。

我希望我的问题是清楚的

请让我知道如何定义这个

我给了表的创建和插入样本SQL为你方便

感谢

create table name_value_pair (row_num varchar2(32), name varchar2(32),value varchar2(32)); 

insert into name_value_pair values ('row1', 'Col1', 'Val11'); 
insert into name_value_pair values ('row1', 'Col2', 'Val12'); 
insert into name_value_pair values ('row1', 'Col3', 'Val13'); 
insert into name_value_pair values ('row1', 'Col4', 'Val14'); 
insert into name_value_pair values ('row1', 'Col5', 'Val15'); 

insert into name_value_pair values ('row2', 'Col1', 'Val21'); 
insert into name_value_pair values ('row2', 'Col2', 'Val22'); 
insert into name_value_pair values ('row2', 'Col3', 'Val23'); 
insert into name_value_pair values ('row2', 'Col4', 'Val24'); 
insert into name_value_pair values ('row2', 'Col5', 'Val25'); 

insert into name_value_pair values ('row3', 'Col1', 'Val31'); 
insert into name_value_pair values ('row3', 'Col2', 'Val32'); 
insert into name_value_pair values ('row3', 'Col3', 'Val33'); 
insert into name_value_pair values ('row3', 'Col4', 'Val34'); 
insert into name_value_pair values ('row3', 'Col5', 'Val35'); 

insert into name_value_pair values ('row4', 'Col1', 'Val41'); 
insert into name_value_pair values ('row4', 'Col2', 'Val42'); 
insert into name_value_pair values ('row4', 'Col3', 'Val43'); 
insert into name_value_pair values ('row4', 'Col4', 'Val44'); 
insert into name_value_pair values ('row4', 'Col5', 'Val45'); 

insert into name_value_pair values ('row5', 'Col1', 'Val51'); 
insert into name_value_pair values ('row5', 'Col2', 'Val52'); 
insert into name_value_pair values ('row5', 'Col3', 'Val53'); 
insert into name_value_pair values ('row5', 'Col4', 'Val54'); 
insert into name_value_pair values ('row5', 'Col5', 'Val55'); 

commit; 
+0

欢迎来到EAV数据库设计地狱。 – 2012-07-18 07:34:25

:你可以创建视图时使用查询210

也许你应该重新考虑数据模型。这种数据模型很糟糕。查询无法进行优化,难以设置约束,并且几乎不可能保持数据的完整性。

+0

解码不是一个表达式的组?获得如下错误 ORA-00979:不是GROUP BY表达式 00979. 00000 - “不是一个GROUP BY表达式” – sigirisetti 2012-07-18 03:40:10

+0

对不起。我修正了错误。 – ntalbs 2012-07-18 03:43:06

+0

立即工作。多谢,伙计。我必须看到它如何扩展大型数据集。 – sigirisetti 2012-07-18 03:53:52