Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL连接,其中id等于id,日期最大_Php_Mysql_Sql - Fatal编程技术网

Php SQL连接,其中id等于id,日期最大

Php SQL连接,其中id等于id,日期最大,php,mysql,sql,Php,Mysql,Sql,我有两张桌子 ---Jobs--- id,name,..... ---Locations--- id,jobId,Location,date 现在,一个作业可以有多个位置,我想将该作业与它的最新位置一起加入,其中jobs.id=location.jobId和date是最大的位置。尝试以下操作: select * from jobs inner join locations on jobs.id=locations.jobid order by date desc limit 1; 可以是:

我有两张桌子

---Jobs---
id,name,.....

---Locations---
id,jobId,Location,date
现在,一个作业可以有多个位置,我想将该作业与它的最新位置一起加入,其中
jobs.id=location.jobId
date
是最大的位置。

尝试以下操作:

select * from jobs inner join locations on jobs.id=locations.jobid order by date desc limit 1;
可以是:

SELECT * 
FROM Jobs J, Locations L
WHERE J.id=L.jobId
AND L.date = (
   SELECT MAX(date) 
   FROM Locations L2
   WHERE L2.jobId=L.jobId
   GROUP BY L2.jobId)
说明:

在嵌套查询中,我为每个作业选择最长日期


在外部查询中,我连接两个表,只提取日期等于嵌套查询中找到的最大日期且作业相同的行。这是通过条件L2实现的。jobId=L.jobId

您还有问题要问我们吗?(希望不是“为我做”)您已经知道要使用sql连接。快速谷歌搜索在第1页上提供了20条关于如何完全按照您的意愿加入的条目。这并不十分清楚,但我猜他/她的问题是如何只获取最新的位置,而不是实际加入?我在谷歌中搜索,没有找到任何对我有帮助的内容。我之所以问这个问题,是因为我不确定语法文本。Shai,YepI得到这个错误#1267-非法混合排序规则(utf8_unicode_ci,隐式)和(utf8_general_ci,隐式)用于操作“=”是的,我可能忘了使用分组依据。查询已更新。顺便说一句,这个错误看起来像是您的表有不同的排序规则。一个有utf8\U unicode\U ci,另一个有utf8\U general\U ci。试着使它们具有相同的排序规则。这里的解释你改成了排序规则并且成功了,谢谢我收到了这个错误#1267-非法混合排序规则(utf8_unicode_ci,隐式)和操作“=”的(utf8_general_ci,隐式)