2012-04-11 52 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