现有四张表
article:id,catalogid,issueid,typeid,title,content
catalog:id,catalogname
issue:id,issuename,
type:id,typename,
article表中的catalogid,issueid,typeid分别对应另外三个表的id,
article表中所有记录的catalogid,issueid的值都不为空,有些记录的typeid部分为空,
我现在要建一个视图字段为:id,catalogname,issuename,typename,title,content,想把所有的article的记录列出来,若typeid为空的,typename也为空。
请教该视图如何写?谢谢!

解决方案 »

  1.   

    select id,catalogname,issuename,typename,title,content from 
    article a,catalog c,issue i,type t
    where a.catalogid=c.id and a.issueid=i.id and a.typeid(+)=t.id
      

  2.   

    回楼上,刚才测试一下,结果跟
    select id,catalogname,issuename,typename,title,content from 
    article a,catalog c,issue i,type t
    where a.catalogid=c.id and a.issueid=i.id and a.typeid=t.id一样啊,还有没有其他方法
      

  3.   

    select 
    a.id,a.title,a.content,
    (select c.catalogname from catalog c where c.id=a.catalogid),
    (select i.issuename from issue i where i.id=a.issueid),
    (select t.typename from type t where t.id=a.typeid) 
    from article a
      

  4.   

    select id,catalogname,issuename,typename,title,content from 
    article a,catalog c,issue i,type t
    where a.catalogid=c.id(+) and a.issueid=i.id(+) and a.typeid=t.id(+)