-1

我有两张桌子

表格1:

    id 名称 item_ref item_name
---------- ---------- ---------- ----------
    101 abc 1 项目1
    102 xyz 2 项目2

表 2:

item_ref item_name end_date
---------- ---------- ----------
    1 项 1 空
    2 项目 2 01-AUG-13
    3 项目 3 空

现在我想创建一个视图,其中仅包含表 1 中的那些项目,其表 2 中的项目尚未过期。

例如,对于上述情况,结果应该是

查看 - 结果

    id 名称 item_ref item_name end_date
---------- ---------- ---------- ---------- ----------
    101 abc 1 item1 null

此处 102 不存在,因为 item2 已过期。

请帮助(使用 Oracle)

4

1 回答 1

0

只需创建视图!

CREATE VIEW schema.view_name AS
  SELECT a.id, a.name, a.item_ref, a.item_name, b.end_date
     FROM table1 a   
          JOIN   
          table2 b
       ON (a.item_ref = b.item_ref)
    WHERE ( b.end_date IS NULL ) OR (b.end_date > SYSDATE ) ;

每次查询视图时,都会执行子查询,因此视图数据将始终更新。查看 ORACLE 语言参考以CREATE VIEW获取更多信息:http ://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_8004.htm

于 2013-08-19T10:35:06.353 回答