【发布时间】:2014-08-18 21:41:16
【问题描述】:
我的数据如下
TABLE1
------
A |B
1 |2
3 |4
TABLE2
------
C |D
1 |11
2 |12
3 |13
4 |14
预期的输出是
D , D
--------
11, 12
13, 14
此输出背后的逻辑是,我需要创建一个视图,以便该视图始终返回与 table2 的列 C 匹配的 table1 中的 A 列或 B 列对应的 table2 的列 D。此视图将充当查找表,根据表 1 中的键查找表 2 中的值。如果万一,table1 中的任何一个键在 table2 中都没有对应的值,则不应报告该对。
数据设置:
CREATE TABLE Table1
("A" number, "B" number);
INSERT ALL
INTO Table1 ("A", "B") VALUES (1, 2)
INTO Table1 ("A", "B") VALUES (3, 4)
SELECT * FROM dual;
CREATE TABLE Table2
("C" number, "D" number);
INSERT ALL
INTO Table2 ("C", "D") VALUES (1, 11)
INTO Table2 ("C", "D") VALUES (2, 12)
INTO Table2 ("C", "D") VALUES (3, 13)
INTO Table2 ("C", "D") VALUES (4, 14)
SELECT * FROM dual;
我尝试了一些使用字符串连接的连接,但它们看起来很糟糕。这实际上是一个 Kognitio 数据库,但大多数 oracle 语法都在这里工作。我还提到了this,没有用。这也是一个 DWH 环境,我们将此逻辑应用于代理键。
【问题讨论】:
标签: sql oracle oracle11g kognitio-wx2 kognitio