2012-04-11 2 views
0

나는 두 개의 테이블을 가지고 있으며, 마지막으로 입력 한 날짜를 원합니다.PHP에서 마지막 삽입 날짜를 얻는 방법

첫 번째 표는 seeker입니다 :

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

두 번째는 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 

이 쿼리를 사용하고 있지만 최대 날짜가 최신이 아닙니다. 하나.

SELECT seeker.username, MAX(bloodrequest.requireddate) AS requireddate, COUNT(bloodrequest.requireddate) AS total 
FROM seeker 
JOIN bloodrequest 
    ON seeker.seeker_nic = bloodrequest.seeker_nic 
GROUP BY seeker.username 

최대 날짜가 표시되며 총 날짜가 표시됩니다. 예를 들어, 111 총 "4",하지만 마지막 삽입 날짜를 표시하는 방법을 모르겠다 ... 나는 PHP에서 새로운 오전, 제발 도와주세요. :(사전에

감사

+1

적절한 구두점과 대소 문자를 사용하십시오 StackOverflow의 문자 메시지하지 어쨌든, 당신은 모든 것을 마지막으로 삽입 된 날짜를 원하는 requestblood FROM MAX (requireddate)를 선택 – Corbin

+0

죄송합니다 .. 최대 최대 날짜를 보여줍니다..?. 하지만 마지막으로 삽입 한 날짜가 필요해. .. @corbin – maham

+1

아, 말 그대로 마지막으로 행이 삽입 된 날짜를 원하십니까? 그 때 그것을 저장해야합니다. MySQL은 이와 같은 정보를 자동으로 저장하지 않습니다. 편집 : 실제로 MySQL은 저장할 수 있습니다 ... 편집 : SHOW TABLE STATUS처럼 사용할 수 있지만 오히려 저에게 해커처럼 보입니다. 테이블에 새 필드를 추가 한 다음 레코드를 삽입 할 때마다 (TIMESTAMP를 사용하여 기본값을 사용하여 자동으로 수행하도록) 현재 날짜를 삽입합니다. – Corbin

답변

0

매우 간단하지만 당신이 부속을 사용해야합니다 -! (이것은 당신이 올바른 색인이있는 경우에만 작동합니다 - 난 당신이 있다고 가정) 마지막 ID로 행을 취득.

예 :

SELECT seeker_nic, username, 
(SELECT `requiredate` FROM `requestblood` WHERE `seeker_nic`=`seeker`.`seeker_nic` ORDER BY `id` DESC LIMIT 1) as `last_requiredate` 
FROM `seeker` 
관련 문제