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 '贝尔'
JOIN PayIn d ON d.PayIn_JobID=c.JobID 之前加上left outer ,也许你的d表中没有对应得数据
--楼主只要把所有的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 '贝尔'
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 '贝尔'
谢谢!不过,好像应该是 LEFT JOIN 哦 顺便再请教一下,这个查询速度很慢,才几万条记录,还要 1 分多钟! 局域网,工作站连接到服务器,在工作站上运行查询分析器
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 '贝尔'
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 '贝尔'
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 '贝尔'
顺便再请教一下,这个查询速度很慢,才几万条记录,还要 1 分多钟! 局域网,工作站连接到服务器,在工作站上运行查询分析器