我的情况显然是别人看到的,但所提出的解决办法似乎都不适用于我的情况。
MySQL查询
select a.assessmentscheduledID, a.assessmentscheduledHVID, a.assessmentscheduledChildID, a.assessmentscheduledType, a.assessmentscheduledAssessmentID, a.assessmentscheduledDateSubmitted, b.pcnpyCurricYearID, b.pcnpyCurricLang from `hhpip_chairs`.tblAssessmentsScheduled a, `hhpip_chairs`.tblPCNPY b where a.assessmentscheduledAAStatus = 2 and a.assessmentscheduledAADistYN = 0 and a.assessmentscheduledChildID= b.pcnpyChildID;在工作台中,此查询164记录。
PHP代码
$getassessout = "select a.assessmentscheduledID, a.assessmentscheduledHVID, a.assessmentscheduledChildID, a.assessmentscheduledType, a.assessmentscheduledAssessmentID, a.assessmentscheduledDateSubmitted, b.pcnpyCurricYearID, b.pcnpyCurricLang from tblAssessmentsScheduled a, tblPCNPY b where a.assessmentscheduledAAStatus = 2 and a.assessmentscheduledAADistYN = 0 and b.pcnpyChildID = a.assessmentscheduledChildID";
$getassessoutresults = $mysqli->query($getassessout) or trigger_error("<p class=\"error\">We're very sorry, but an error has occurred when interacting with the CHAIRS database. Please try again and see if the error repeats. If it does, please get the following information in its entirety to your database administrator so the CHAIRS developer can get the error resolved.<br />Error Message: " . $mysqli->error, E_USER_ERROR);当这段代码在我的网页上运行时,我会得到152条记录。对为什么会这样有任何想法吗?
发布于 2015-12-06 20:53:29
查询之间略有不同:
and a.assessmentscheduledChildID= b.pcnpyChildID;
and b.pcnpyChildID = a.assessmentscheduledChildID;由于您使用的是tbl1,tbl2,而不是通常的JOIN语句,所以我怀疑mysql引擎读取它的方式不同。来自mysql手册:
STRAIGHT_JOIN(,)类似于JOIN,只是左表总是在右表之前读取。这可以用于join优化器将表按错误顺序放置的情况(很少)。
https://stackoverflow.com/questions/34122355
复制相似问题