我正在尝试为一个新表准备数据,这个数据表是来自现有表的相同数据,但是是非规范化的。我有一个简单的场景,但我的心是在返回的结果Oracle SQL查询非规范化
它是基于以下简化方案的最有效的方法一片空白:
Table X | Table y
id | id Identifier Value
123 | 123 1 A
| 123 2 B
随着从表XI其它字段需要我查询返回:
123 A B
我已经考虑:
解决方案一
select
id,
(select Value...),
(select Value...)...
解决方案二:
select id,
y1.Value,
y2.Value
from x, y y1, y y2...
解决方案三:利用PL/SQL和通过游标
解四迭代 : 提取Y考虑identifyer1和identifier2(潜在使用触发器)两个表,并加入查询中的那些表,而不是
这些解决方案都有一个主要缺点,出于某种原因,我确信有一个词可以让我想起一个公司除了解决这个问题
通过你的输出例子来看,你必须在表Y.所有的信息或者你可以通过ID加入X和Y使用Listagg()或WM_Concat(10g)来连接来自表Y的值,而不是透视。不需要PL/SQL。 – Art 2013-02-28 21:49:37