0
누군가가 나를 도울 수 있기를 바랍니다. 하루 종일 일하고 싶습니다.날짜 범위 반환 값 사이의 최대 값 및 날짜 찾기
최대 값과 특정 날짜 범위 사이의 최대 값이 연결되는 날짜와 ID를 가져와야합니다.
SELECT distinct bw_s.id, avs.carProd, cd_s.RecordDate,
cd_s.milkProduction as MilkProd,
cd_s.WaterProduction as WaterProd
FROM tblTest bw_s
INNER JOIN tblTestCp cd_s WITH(NOLOCK)
ON bw_s.id=cd_s.id
AND cd_s.recorddate BETWEEN '08/06/2014' AND '10/05/2014'
Inner Join
(select id, max(CarVol) as carProd
from tblTestCp
where recorddate BETWEEN '08/06/2014' AND '10/05/2014'
group by id) avs
on avs.id = bw_s.id
order by id
내가이
id RecordDate carProd MilkProd WaterProd
47790 2014-10-05 132155 0 225
47790 2014-10-01 13444 0 0
47790 2014-08-06 132111 10 100
47790 2014-09-05 10000 500 145
47790 2014-09-20 10000 800 500
47791 2014-09-20 10000 300 500
47791 2014-09-21 10001 400 500
47791 2014-08-21 20001 600 500
같은 테이블이 그리고 결과가 있어야한다 여기
내 코드, 그리고 나는 많은 다른 버전을 시도했지만 여전히 하나 개 이상의 ID와 날짜를 반환 (최대 carprod)id RecordDate carProd MilkProd WaterProd
47790 2014-10-05 132155 0 225
47791 2014-08-21 20001 600 500
질문을 편집하고 샘플 데이터와 원하는 결과를 추가 할 수 있습니까? 날짜 상수를 YYYY-MM-DD의 ISO 표준 형식으로 저장하는 것이 좋습니다. –
NOLOCK을 일관되게 사용하지 않는 이유는 무엇입니까? 동일한 기본 테이블을 여러 번 쿼리하지만 그 중 하나만 해당 힌트를 갖고 있습니까? FWIW, 주기적으로 누락 및/또는 중복 된 데이터를 확인하지 않는 한 전혀 사용하지 않는 것이 좋습니다. –