是这样一个sql: SELECT dbo.cwa_checkwork.*, dbo.cwa_rili.riqi AS riqi, 
      dbo.clerk_code.clerk_name AS clerk_name, 
      dbo.cwa_banzhi.banzhiming AS banzhiming, 
      dbo.cwa_banshi.xuhaoming AS banshiming, 
      dbo.cwa_leibei.leibieming AS leibieming
   FROM dbo.cwa_checkwork INNER JOIN
    dbo.cwa_rili ON dbo.cwa_checkwork.rili_id = dbo.cwa_rili.rili_ID INNER JOIN
    dbo.clerk_code ON 
    dbo.cwa_checkwork.clerk_id = dbo.clerk_code.clerk_id INNER JOIN
    dbo.cwa_banzhi ON 
    dbo.cwa_checkwork.banzhi_ID = dbo.cwa_banzhi.banzhi_ID INNER JOIN
    dbo.cwa_leibei ON 
    dbo.cwa_checkwork.leibie_ID = dbo.cwa_leibei.leibie_ID LEFT OUTER JOIN
    dbo.cwa_banshi ON dbo.cwa_banzhi.banzhi_ID = dbo.cwa_banshi.banzhi_ID AND 
    dbo.cwa_banshi.banshi_ID = dbo.cwa_checkwork.banshi_ID
将原来的连接改为where 条件 。
我改为:
from 
   dbo.cwa_checkwork,   
   dbo.cwa_rili ,      
   dbo.clerk_code,
   dbo.cwa_banzhi,
   dbo.cwa_leibei,
   dbo.cwa_banshi  
 where  dbo.cwa_checkwork.rili_id= dbo.cwa_rili.rili_ID and
            dbo.cwa_checkwork.clerk_id = dbo.clerk_code.clerk_id and 
            dbo.cwa_checkwork.banzhi_ID=dbo.cwa_banzhi.banzhi_ID and 
            dbo.cwa_checkwork.leibie_ID = dbo.cwa_leibei.leibie_ID and 
            dbo.cwa_banzhi.banzhi_ID=*dbo.cwa_banshi.banzhi_ID  and   
            dbo.cwa_banshi.banshi_ID=*dbo.cwa_checkwork.banshi_ID
系统报错说 内外连接同时出现在一个表中,这样是不允许的。
就各位大虾帮我看看

解决方案 »

  1.   

    dbo.cwa_checkwork.banzhi_ID=dbo.cwa_banzhi.banzhi_ID 
    dbo.cwa_banzhi.banzhi_ID=*dbo.cwa_banshi.banzhi_ID
    dbo.cwa_banshi.banshi_ID=*dbo.cwa_checkwork.banshi_ID
    ----------------
    怎么有一个“*”号?还有上面逻辑上有问题,形成了一个环。
      

  2.   

    建议你还是用连接,能用内连接的不要用外连接 ,速度要比where快
      

  3.   

    会不会是用join这样的可移植性更好一些呢?而且你的里面有left outer join ,可能会和=连接这样查询结果不一样吧