现有4张表 分别如下:
A表:
project_id,bid_object_id,object_name,company_idB表:
project_id,project_nameC表:
invite_status,project_id,bid_object_idD表:
company_id,company_name现在通过这4张表进行查询 形成这个样子:
company_name(D表) project_name(B表) object_name(A表) invite_status(C表)我想不明白如何给它们关联起来,C表是空的,没数据的,其余表是有数据的,SQL语句该如何写?谢谢赐教!

解决方案 »

  1.   

      select d.company_name,b.project_name,a.object_name,c.invite_status 
            from a,b,c,d 
            where d.company_id=a.company_id(+)
                 and a.project_id=b.project_id(+)
                 and a.project_id=c.project_id(+)
      

  2.   

    没有oracle环境. 在ms_sqlserver中可以这样实现
    select 
    ,object_name
    ,(select top 1 project_name from B表 where project_id=a.project_id) 'project_name' 
    ,(select top 1 invite_status from C表 where project_id=a.project_id ) 'invite_status'
    ,(select top 1 company_name from D表 where company_id=a.company_id  ) 'company_name'
     from A表 as a