2016-10-19 4 views
0

SQL SERVER JOINSQL Server 가입 테이블

각 학생의 이름, 마지막 지불 날짜 만 원합니다. 오직 하루를 의미합니다.

+0

http://stackoverflow.com/help/how-to-ask –

+0

http://meta.stackoverflow.com/questions/285551/why :이 당신에게 예상되는 출력을 제공해야합니다 희망 285557 # 285557 –

+0

안녕하세요, 표, 샘플 데이터 및 예상 출력과 같은 세부 정보를 추가 할 수 있습니까? –

답변

0

나는이 코드를주는 데 전혀 도움이되지 않는다는 것을 알고 있습니다. 하지만 그걸로 뭔가 배울 수 있습니다.

SELECT S.Id, S.Name, F.max_date, F.FeeAmt 
FROM tbl_student As S 
INNER JOIN (
SELECT t.Id, MAX(t.Date) As max_date, t.FeeAmt FROM tbl_fees As t GROUP BY t.Id 
) As F ON F.Id=S.Id 

처음으로 우리는 tbl_student에서 모든 사용자를 선택한 다음 최대 날짜를 선택하고 사용자별로 그룹화하는 수수료를 받고 있습니다. 결과는 사용자 당 최종 (날짜) 요금입니다.

0

이 검색어를 입력하십시오.

SELECT S.Name, T1.LastPaymentDate 
FROM 
(SELECT Id, Max([Date]) AS LastPaymentDate from tbl_fees GROUP BY Id) AS T1 
INNER JOIN 
tbl_student AS S 
ON T1.Id = S.Id 
0
SELECT S.name,SUB.LAST_DATE 
FROM tbl_student S 
JOIN (SELECT f.id AS ID,MAX(f.Date) AS LAST_DATE 
     FROM tbl_fees f 
     GROUP BY f.id) SUB 
ON SUB.id = S.id  
+0

이 코드는 문제를 해결하는 데 도움이 될 수 있지만 _why_ 및/또는 _how_는 질문에 대답하지 않습니다. 이러한 추가적인 맥락을 제공하면 장기적인 교육적 가치가 크게 향상 될 것입니다. 어떤 제한 사항과 가정이 적용되는지를 포함하여 설명을 추가하려면 답을 [편집하십시오]. –