去掉:JOIN PayIn d ON d.PayIn_JobID=c.JobID  就可以

解决方案 »

  1.   

    SELECT A.ChargeNote,C.CustomName,B.SheetNo,C.JobNo,B.SheetRDate,d. PayIn_Date 
    FROM JobCharge A JOIN CusSheet B ON B.SheetNo LIKE A.ChargeNote 
    JOIN JobSheet_SI C ON C.JobID = B.JobID RIGHT JOIN PayIn d ON d.PayIn_JobID=c.JobID 
    WHERE C.CustomName LIKE '贝尔'
      

  2.   

    JOIN PayIn d ON d.PayIn_JobID=c.JobID 之前加上left outer ,也许你的d表中没有对应得数据
      

  3.   

    --楼主只要把所有的inner改为left join就行了。第一个LIKE改为'=',语句如下:
    SELECT A.ChargeNote,C.CustomName,B.SheetNo,C.JobNo,B.SheetRDate,d. PayIn_Date 
    FROM JobCharge A left JOIN CusSheet B ON B.SheetNo = A.ChargeNote 
    left JOIN JobSheet_SI C ON C.JobID = B.JobID left JOIN PayIn d ON d.PayIn_JobID=c.JobID 
    WHERE C.CustomName LIKE '贝尔'
      

  4.   

    SELECT C.CustomName,C.JobNo,B.SheetNo,B.SheetRDate,d. PayIn_Date 
    FROM JobSheet_SI C left outer join CusSheet B on C.JobID = B.JobID leftouter  JOIN PayIn d ON d.PayIn_JobID=c.JobID 
    WHERE C.CustomName LIKE '贝尔'
      

  5.   

    谢谢!不过,好像应该是  LEFT JOIN 哦
    顺便再请教一下,这个查询速度很慢,才几万条记录,还要 1 分多钟! 局域网,工作站连接到服务器,在工作站上运行查询分析器