我有两张桌子
id Name item_ref item_name ---------- ---------- ---------- ---------- 101 abc 1 item1 102 xyz 2 item2
item_ref item_name end_date ---------- ---------- ---------- 1 item1 null 2 item2 01-AUG-13 3 item3 null
现在我想创建一个视图,其中只包含表1中表2中的项目尚未过期的项目。
例如,对于上述情况,结果应为
id Name item_ref item_name end_date ---------- ---------- ---------- ---------- ---------- 101 abc 1 item1 null
此处102不存在,因为item2已过期。
请帮忙 (使用Oracle)
答案 0 :(得分: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 ) ;
每次查询视图时,都会执行子查询,因此视图数据将始终更新。
有关详细信息,请查看CREATE VIEW
上的ORACLE语言参考:http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_8004.htm