2012-04-11 34 views
0

我有兩個表,我想獲取最後一個輸入日期。無法獲取列表用戶的最大日期php MYSQL

The first table is seeker: 

seeker_nic-----username 
111-------------ali 
222-------------umer 
333-------------raza 

The second one is requestblood: 

id-------seeker_nic-----requireddate 
1------- 111 ----------2012/10/9 
2 ------- 222-----------2012/5/8 
3 ------ 111-----------2012/12/12 
4 ------- 111-----------2012/11/12 
5---------111-----------2012/09/09 
6 ------- 222-----------2012/7/9 
7 ------- 333 ----------2012/4/4 

現在,我想與他們的最後日期插入像列表中的用戶..

s.no---- username----- requireddate 
1------- ali---------- 2012/09/09 
2------- umer--------- 2012/7/9 
3------- raza--------- 2012/4/4 

當我運行在phpMyAdmin此查詢我使用這個查詢

SELECT seeker.username,bloodrequest.requireddate, 
max(bloodrequest.bloodrequest_id) AS maxdate 
FROM seeker 
JOIN bloodrequest ON seeker.seeker_nic = bloodrequest.seeker_nic 
GROUP BY seeker.username 

。 。它列出所有用戶,並顯示每個用戶的第一個插入日期..但我想最後插入的日期...我該怎麼做..請我需要幫助:(

+0

爲什麼有些日期「2012/5/8」和其他「2012/09/09」?格式不一致。 – Jakub 2012-04-11 20:32:17

+0

這些是搜索引擎插入日期..但我想顯示上次插入日期列出所有用戶時 – maham 2012-04-11 20:36:04

回答

0

編輯真正的答案:

不是很乾淨的SQL,但它會得到你正在尋找的結果。我確信有一種方法可以讓團隊更好地完成,但這是有效的。 :)

SELECT s.username, 
(
    SELECT br1.requireddate 
    from bloodrequest as br1 
    where br1.bloodrequest_id = 
    (
     select max(br2.bloodrequest_id) 
     from bloodrequest as br2 
     where br2.seeker_nic = s.seeker_nic 
    ) 
) as requireddate 
FROM seeker as s 
+0

requiresdate被存儲爲「日期」,但它仍然顯示第一個日期不是最後一個插入日期:(@James – maham 2012-04-11 20:44:34

+0

沒有意識到這一點時我第一次看代碼,但是你正在使用bloodrequest_id的最大值而不是requireddate。 – James 2012-04-11 21:06:11

+0

我最大限度地使用了血bloodrequest_id,這樣我就可以顯示最大bloodrequest對應的日期...我不能使用max和requireddate ..因爲我想顯示最後插入的日期不是最大日期.. :(plz help mee @james – maham 2012-04-11 21:11:56