create view viewname
as
select * from view1 f where f.INSTANCE_ID in
( select t.INSTANCE_ID from view2 t where t.USER_NAME='liuz' and t.STATE=4 )
and f.user_name<>'liuz' and f.STATE=1;
as
select * from view1 f where f.INSTANCE_ID in
( select t.INSTANCE_ID from view2 t where t.USER_NAME='liuz' and t.STATE=4 )
and f.user_name<>'liuz' and f.STATE=1;
比如select * from view where user_name='liuz'
不过这个view现在是使用了2个user_name,我不会写这个view。
select f.*,t.user_name user_name1 from view1 f ,view2 t
where f.INSTANCE_ID =t.INSTANCE_ID
and t.STATE=4
and f.STATE=1
and t.USER_NAME='liuz'
and f.user_name<>'liuz'
逻辑是相同的而且可能比你的句子执行速度还要快现在你在创建视图
Create view viewname
select f.*,t.user_name user_name1 from view1 f ,view2 t
where f.INSTANCE_ID =t.INSTANCE_ID
and t.STATE=4
and f.STATE=1以后的查询你可以写
select * from viewname where
and USER_NAME1='liuz'
and user_name<>'liuz' 我们只是按照你的句子改写,如果你讲出你的业务逻辑也许有更好的解法
select * from viewname where
USER_NAME1='liuz'
and user_name<>'liuz'