select ta.account_id ,ta.corpname,tfv.pk_id pk_id,tfv.state,pd.name area 
 from t_account ta
 left outer join t_freeEvaluationApply tfv on  ta.account_id = tfv.fk_account_id
 left outer join pub_district pd on ta.fk_province_id =pd.pk_id
为啥会酱紫?把left outer join改成join不会报错,但是就不能查到我要的数据啦
求高手帮忙

解决方案 »

  1.   

    可以肯定地说:
    left join

    left outer join
    等价.
    你还是查查你的更改除了这个关联词外,还做了什么其他事情.
      

  2.   

    啊!!!!!!!!!!!!!为啥会酱紫?把left outer join改成join不会报错,但是就不能查到我要的数据啦
    求高手帮忙left join 是左连接join 是默认的 inner join ,你改了连接方法,结果当然不同.我看成 left join 了!
      

  3.   


    --试试
    select ta.account_id ,ta.corpname,tfv.pk_id pk_id,tfv.state,pd.name area 
    from t_freeEvaluationApply tfv
    left outer join t_account ta    on ta.account_id = tfv.fk_account_id
    left outer join pub_district pd on ta.fk_province_id =pd.pk_id
      

  4.   


    LEFT [ OUTER ] 
    指定在结果集中包括左表中所有不满足联接条件的行,并在由内部联接返回所有的行之外,将另外一个表的输出列设为 NULL。RIGHT [OUTER] 
    指定在结果集中包括右表中所有不满足联接条件的行,且在由内部联接返回的所有行之外,将与另外一个表对应的输出列设为 NULL。<join_hint> 
    指定 SQL Server 查询优化器为在查询的 FROM 子句中指定的每个联接使用一个联接提示或执行算法。有关详细信息,请参阅联接提示 (Transact-SQL)。JOIN 
    指示指定的联接操作应在指定的表源或视图之间执行。
    看一下语法和例子
    http://technet.microsoft.com/zh-cn/library/ms177634(SQL.90).aspx
      

  5.   

    a表和b表有匹配不上的值,join = inner join(内联)所以才会没数据出