跨3个表的mySQL查询

时间:2015-12-01 08:37:52

标签: php mysql

对任何读过这篇文章的人都很高兴 - 我正在努力解决一个问题,我想知道我是否能得到任何指针,这就是它的要点......

'表1'是对办公室进行的呼叫记录。每个调用都有一个jpb引用(基本上是该表中的ID。

'表2'是工程师参加之后进行的调用的地方,并将使用第一个表中的作业参考(这取决于工程师在PDA上完成作业)因此并非总是如此,因此表3 ......)

'表3'是已参加的每个工作的表格。这将始终具有客户端详细信息,但不会始终具有“作业参考”。

我要做的是获取一份尚未参加的工作清单......

我有来自表1的'clientID'和'jobID',最简单的方法是简单加入并检查表2中的'jobID',但遗憾的是并非所有作业都在表2中结束,所以我需要与表3交叉参考,以检查自从表1中提出的工作以来没有为该客户进行访问。我得到了这个....

SELECT * FROM `loggedCalls` l JOIN 
`allCalls` a 
ON (l.clientID = a.clientID) 
AND (l.loggedDate <= '15-11-29' AND l.priority IN('3','4','5')) 
AND l.jobID NOT IN ( SELECT `jobID` FROM `pdaJobs` ) 

我目前正在努力的是下一部分,我基本上想说..

AND MAX在'allCalls'表上访问此客户ID的日期小于此次调用在'loggedCalls'上的日期。

无论我为这部分尝试什么,总是导致没有结果,即使我知道应该有结果。

我正在寻找的结果的一个例子..

工作1 - 11月25日登录客户'10432'。没有访问登录PDAjobs并且没有访问客户端10432的第25个以后的所有Calls表 - 所以我希望得到一个结果。

工作2 - 11月25日登录客户'10433'。没有访问登录PDAjobs,但客户10433确实访问了11月27日的All Calls表,所以我不想在结果中看到,因为我们在电话会议结束后去过这个客户。

我希望这是有道理的!我很抱歉带着手来到这里,但是我已经围着这个圈子走了好几天,即使有人告诉我它实际上不可能,那么这将是一种解脱。

感谢。

0 个答案:

没有答案
相关问题