Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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 mysql中使用innerjoin with max时未列出用户_Php_Mysql - Fatal编程技术网

在php mysql中使用innerjoin with max时未列出用户

在php mysql中使用innerjoin with max时未列出用户,php,mysql,Php,Mysql,我是php新手,我的php代码有问题。请帮助我。。 我有两张桌子 ` 现在我想列出一次最长日期的用户,如 s.no---- username----- requireddate 1------- ali---------- 2012/11/12 2------- umer--------- 2012/7/9 3------- raza--------- 2012/4/4 我正在使用这个查询 "SELECT bloodrequest.requireddate, seeker.user

我是php新手,我的php代码有问题。请帮助我。。 我有两张桌子


`

现在我想列出一次最长日期的用户,如

s.no---- username----- requireddate
 1------- ali---------- 2012/11/12
 2------- umer--------- 2012/7/9
 3------- raza--------- 2012/4/4
我正在使用这个查询

"SELECT  bloodrequest.requireddate, seeker.username
FROM 
bloodrequest
JOIN seeker ON bloodrequest.seeker_nic= seeker.seeker_nic
Join (SELECT max(requireddate)as maxdate FROM bloodrequest) maxresults on
bloodrequest.requireddate = maxresults.maxdate"
。。 但它只显示1条记录,而不是列表 如果使用此查询(左连接而不是连接)

然后显示所有日期的记录,但不显示最大值

id------seeker_nic -------requireddate<br>
1 ------ ali   ---------   2012/9/9<br>
2 ------ ali ----------    2012/10/11<br>
3 ------ ali ------------  2012/11/12<br>
4------  umer------------- 2012/5/8<br>
5------- umer -------------2012/7/9<br>
6 ------ raza--------------2012/4/4<br>
id------导引头\u nic------所需日期
1------阿里------2012/9/9
2------阿里------2012/10/11
3----阿里----2012/11/12
4月------2012年5月8日
5月------2012年7月9日
6------拉扎-----------------2012/4/4

您应该能够做到这一点:

select seeker.username, max(requestblood.requireddate)
from seeker
join requestblood on seeker.seeker_nic=requestblood.seeker_nic
group by seeker.username

您可以随意添加所需的任何排序顺序。

我尝试了此查询,但不起作用..:(我不知道那是什么problem@maham运行时会得到什么?@maham从mysql(或任何数据库引擎)中的命令行运行查询-不是来自php。请确保您获得了正确的数据,然后将php代码放在周围。很可能您的空白页是由php中的某个错误导致的。很抱歉..我在这里犯了错误..我的第二个表是“bloodrequest”而不是“requestblood”…是的,您的查询在phpmyadmin中工作..它显示了我想要的结果,但在php中发生了错误“未定义索引”要求在此行中注明“../”//
"SELECT bloodrequest.requireddate, seeker.username
FROM 
bloodrequest
left JOIN seeker ON bloodrequest.seeker_nic = seeker.seeker_nic
left join (SELECT max(requireddate)as maxdate FROM bloodrequest) maxresults
on bloodrequest.requireddate = maxresults.maxdate";
id------seeker_nic -------requireddate<br>
1 ------ ali   ---------   2012/9/9<br>
2 ------ ali ----------    2012/10/11<br>
3 ------ ali ------------  2012/11/12<br>
4------  umer------------- 2012/5/8<br>
5------- umer -------------2012/7/9<br>
6 ------ raza--------------2012/4/4<br>
select seeker.username, max(requestblood.requireddate)
from seeker
join requestblood on seeker.seeker_nic=requestblood.seeker_nic
group by seeker.username