我是php新手,我的php代码有问题。请帮帮我。。我有两张桌子
seeker
seeker_nic-----username
111-------------ali
222-------------umer
333-------------raza
`
requestblood
id-------seeker_nic-----requireddate
1------- 111 ----------2012/9/9
2 ------- 222-----------2012/5/8
3 ------ 111-----------2012/10/11
4 ------- 111-----------2012/11/12
5 ------- 222-----------2012/7/9
6 ------- 333 ----------2012/4/4
现在我想列出一次最长日期的用户,比如。。
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"
但它只显示了一条记录而不是列表如果使用此查询(左联接而非联接)
"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
请随意添加您需要的任何排序顺序。