1

私は php が初めてで、php コードに問題があります。助けてください。2 つのテーブルがあります。

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"

..しかし、リストではなく1つのレコードのみを表示し、このクエリを使用する場合(結合ではなく左結合)

"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>
4

1 に答える 1

2

これをもっと簡単にできるはずです:

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

必要な並べ替え順序を自由に追加してください。

于 2012-04-04T18:45:09.933 に答える