SQL 쿼리에 문제가 있으며이를 파악할 수 없습니다. 확실히 나는 그것에 대해 모든 잘못을 할거야.SQL Server 집계 및 합계
기본적으로 PRVDR_NUM 및 ITM_VAL 있습니다. 관련 ITM_VALS를 요약하여 각 PRVDR_NUM에 "합산 된"ITM_VAL [SumReimb가 별칭]을 갖도록합니다.
PRVDR_NUM은 실제로 다른 테이블에 있습니다. RPT_REC_NUM의 내부 조인을 사용하여 두 테이블에 모두 관련이 있습니다.
다음은 작동하지 않는 예제입니다.
SELECT PRVDR_NUM,SUM(ITM_VAL) as SumReimb FROM hha2011num
INNER JOIN hha2011rpt ON hha2011num.RPT_REC_NUM = hha2011rpt.RPT_REC_NUM
WHERE (WKSHT_CD='D000000' AND LINE_NUM = '01201') AND (CLMN_NUM='0100' OR CLMN_NUM='0200')
GROUP BY PRVDR_NUM,ITM_VAL ORDER BY ITM_VAL
내가 합산있어 중요한 것은이 CLMN_NUM 0100 및 0200이며, 각각 다른 항목 값을 가지고 있고 나는 PRVDR_NUM에 의해 다음 그룹을 그들을 추가 할합니다.
제안 사항?
SQL에서 주요 문제는 GROUP, Aggregates 및 Calculated 필드입니다. 어떻게 묶을 지 모르겠습니다. 나는 이틀 전에 SQL을 배우기 시작했다. 이 라인 아래
편집 ------------
은 다음 두 가지입니다하지만 같은 쿼리를해야합니다.
SELECT RPT_REC_NUM,SUM(ITM_VAL) SumReimb FROM hha2011num
WHERE (WKSHT_CD='D000000' AND LINE_NUM = '01201') AND CLMN_NUM in('0100','0200')
GROUP BY RPT_REC_NUM ORDER BY SumReimb
SELECT PRVDR_NUM,SUM(ITM_VAL) as SumReimb FROM hha2011num
INNER JOIN hha2011rpt ON hha2011num.RPT_REC_NUM = hha2011rpt.RPT_REC_NUM
WHERE WKSHT_CD='D000000' AND LINE_NUM = '01201' AND CLMN_NUM in('0100','0200')
GROUP BY PRVDR_NUM ORDER BY SumReimb
지금; 그들 사이의 대부분의 데이터는 다른 하나보다 39 개의 항목이있는 것을 제외하면 동일합니다. 아마 두 번째 데이터에서 단지 소수의 데이터가 내가 예상 한 것보다 더 높은 순위를 갖는 이유 일 것입니다.
ITM_VAL로 그룹화하고 정렬하는 이유는 무엇입니까? 합계하는 것으로 그룹화 할 수 없으며 주문할 수도 없습니다. 당신은 'Sum By Sort By PRVDR_NUM ORDER'또는 'SumReimb DESC BY GROUP BY PRVDR_NUM ORDER'를 원하셨습니까? 옆으로,이 란을 지명 한 사람을 매질하십시오. –
@AaronBertrand : 도넛과 전 메인 프레임 프로그래머가이 칼럼에 이름을지었습니다. – HardCode
@AaronBertrand여보세요 메디 케어/메디 케이드 비용 보고서. 당신은 내가 지금 cms.gov에있는 것처럼 많은 재미를 가질 수 있습니다 :) –