本帖最后由 limeng2510 于 2012-04-11 11:27:20 编辑

解决方案 »

  1.   

    是oracle 的写法 不是sql的标准写法 (+)是外连接的意思
      

  2.   

    (+)在左,表示左连接,在右表示右连接,所以LZ的这个写法是右连接
    也就是b.filetypeid可有可无,无的话b.filetype就是null
      

  3.   

    相当于SELECT 
    a."DOCUNID",a."TITLE",a."SENDDEP",a."ISSUE_DEP_CODE",a."ISSUE_YEAR",a."ISSUE_SERIAL_NUM",a."SECRET_LEVEL",a."GETDATE",a."SERIAL_NUM",a."MAIN_SEND",a."MAIN_SEND_ID",a."COPY_SEND",a."COPY_SEND_ID",a."FILE_STATE",a."UPLOADFILE",a."UPLOADPATH",a."FILE_TYPE_ID",a."CONTEXT",a."GETNUM",a."FZR",a."SENDDATE",a."GETZH",a."EMERGENCY_LEVEL",a."SECRET_LIMIT",b.filetype file_typeFrom getdoc a right join getdoc_type b
    on(a.file_type_id=b.filetypeid);
      

  4.   

    From getdoc a,getdoc_type bWhere a.file_type_id=b.filetypeid(+);相当于
    From getdoc a left outer join getdoc_type bon a.file_type_id=b.filetypeid;