인라인 select 문에서 집계 함수 사용

단발

T-SQL 서비스 테이블을 결제 테이블에 조인하고 있습니다. payments_rec'd 및 allowed_ 금액에 대해 MAX, AVG를 사용하고 있습니다. PayApp 테이블에서 서비스 별 마지막 줄 번호로 잔액이 필요합니다. 때로는 지불이 나열되고 차감되어 MIN 잔액이 작동하지 않습니다. 인라인 select 문을 생각하고 있지만 인라인 집계 함수를 사용할 수 없습니다.

SELECT DISTINCT [CDCLSVC].[RECNUM]       
,[CDCLSVC].[ID]       
,[CDCLSVC].[CLIENT_ID]       
,[CDCLIENT].[CASE_NUM]       
,[CDCLSVC].[UNIT_ID]       
,[CDCLSVC].[SUB_UNIT_ID]      
,[CDCLSVC].[SVC_ID]       
,[CDCLSVC].[EMP_ID]       
,[CDCLSVC].[BEG_DATE]       
,UPPER([CAEMP].[SORT_NAME]) as Employee       
,ISNULL([CDCLSVC].[EXTENDED_PRICE],0)  As ExtendedPrice       
,ISNULL([CDCLSVC].[BALANCE],0) As Balance         
,ISNULL(MAX([CDPAYAPP].[ALLOWED_AMT]),0) AS AllowedAmount
,ISNULL(MAX([CDPAYAPP].[ADJ_AMT]),0)As AdjustedAmount  
,ISNULL(SUM([CDPAYAPP].[PAY_APPLIED_AMT]),0)As PaymentApplied
,ISNULL(MAX([CDPAYAPP].[WRITE_OFF_AMT]),0)AS WriteOff  
,ISNULL(MIN([CDPAYAPP].[SVC_BALANCE]),0) AS SvcBalance  
,UPPER([CDPLACE].[DESC]) as Location    

FROM [AnaDEV].[dbo].[CDCLSVC]    
INNER JOIN [CAEMP]   ON [CDCLSVC].[EMP_ID] = [CAEMP].[ID]    
INNER JOIN [CDCLIENT]    ON [CDCLSVC].[CLIENT_ID] = [CDCLIENT].[ID]    
INNER JOIN [CDPLACE]   ON [CDCLSVC].[PLACE_ID] = [CDPLACE].[ID]    
INNER JOIN [CDPAYAPP]   ON [CDPAYAPP].[CLSVC_ID] = [CDCLSVC].[ID]   

WHERE [CDCLSVC].[BEG_DATE] between '2015-07-01' and DATEADD(DAY,- 
    (DATEPART(DAY, getdate())),GETDATE())

GROUP BY CDCLSVC.RECNUM,CDCLSVC.ID,CDCLSVC.CLIENT_ID,  
        CDCLIENT.CASE_NUM,CDCLSVC.UNIT_ID, CDCLSVC.SUB_UNIT_ID,
        CDCLSVC.SVC_ID,CDCLSVC.EMP_ID, CDCLSVC.BEG_DATE,    CAEMP.SORT_NAME,
        CDCLSVC.EXTENDED_PRICE,CDCLSVC.BALANCE, [CDPLACE].[DESC]   

ORDER BY [CDCLIENT].[CASE_NUM], [CDCLSVC].[ID] 
단발

소규모 진료소에 대한 서비스 테이블 (CDCLSVC)이 있습니다. 각 서비스에는 많은 결제 / 조정 (PAYAPP)이 있습니다. 그래서 저는 일대 다 관계를 가지고 있습니다. 또한 임상의와 클라이언트에 대한 다른 조회 테이블이 있습니다. 목표는 Clinician, Client 순으로 서비스를 그룹화하고 서비스 당 하나의 행을 갖는 것입니다. SUM, MIN, MAX를 사용하여 PAYAPP 테이블을 쉽게 집계했습니다. 문제는 PAYAPP 테이블의 잔액이 수표 장과 같았고 마지막 항목이 필요하다는 것입니다.

PAYAPP
ROWNUM  SVC    PRICE  ADJUSTMENT WRITE-OFF  PAYMENTS  BALANCE
1        001    $100       $25                           $75
2        001    $100                           $10       $65
3        001    $100                           $50       $15
4        001    $100                $15                  $0

각 서비스 MAX (PRICE) SUM (조정) MAX (WRITE-OFF) SUM (PAYMENT)

문제는 왼쪽 외부 조인 후 하위 쿼리에서 수행 한 최종 균형을 얻는 것입니다.

SELECT CDCLSVC.ID AS SERVICE_ID
      --,CDPAYAPP.[ID] AS CDPAYAPP_ID
      ,CDCLSVC.[CLIENT_ID]
      ,CDPAYAPP.[CLSVC_ID]
      ,ISNULL(CDCLSVC.[EXTENDED_PRICE],0) AS EXTENTED_PRICE
      ,ISNULL(CDCLSVC.[BALANCE],0) AS BALANCE
      ,ISNULL(MAX(CDPAYAPP.[ALLOWED_AMT]),0) AS AllowedAmt
      ,ISNULL(MAX(CDPAYAPP.[ADJ_AMT]),0) AS AdjAmt
      ,ISNULL(MAX(CDPAYAPP.[WRITE_OFF_AMT]),0)AS WriteOff
      ,ISNULL(SUM(CDPAYAPP.[PAY_APPLIED_AMT]),0)AS AppliedAmt
      ,ISNULL(TBL1.SVC_BALANCE,0) AS SVC_BALANCE
       ,CDCLSVC.[EMP_ID]
       ,CDCLSVC.[PLACE_ID]
       ,CDCLSVC.[BEG_DATE]
       ,CDCLSVC.[UNIT_ID]
       ,CDCLSVC.[SUB_UNIT_ID]
  FROM [AnaDEV].[dbo].[CDCLSVC]

  LEFT OUTER JOIN CDPAYAPP
  ON CDCLSVC.ID = CDPAYAPP.CLSVC_ID

 LEFT OUTER JOIN
            (SELECT SVC_BALANCE
            ,CLSVC_ID
            FROM CDPAYAPP
            WHERE CDPAYAPP.RECNUM IN 
                (SELECT MAX([RECNUM])
                  FROM [AnaDEV].[dbo].[CDPAYAPP]
                  GROUP BY CLSVC_ID)) AS TBL1

            ON TBL1.CLSVC_ID = CDPAYAPP.CLSVC_ID

    WHERE [CDCLSVC].[BEG_DATE] between '2015-07-01' and DATEADD(DAY,-(DATEPART(DAY, getdate())),GETDATE())
    GROUP BY CDCLSVC.ID,CDCLSVC.[CLIENT_ID],CDPAYAPP.CLSVC_ID,CDCLSVC.
            [EXTENDED_PRICE],CDCLSVC.[BALANCE],CDCLSVC.[EMP_ID] 
        ,CDCLSVC.[BEG_DATE],TBL1.SVC_BALANCE, CDCLSVC.PLACE_ID
         ,CDCLSVC.[UNIT_ID] ,CDCLSVC.[SUB_UNIT_ID]  
    ORDER BY CDCLSVC.BEG_DATE DESC   -- CHECKING THE WHERE CLAUSE

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

MongoError : 인식 할 수없는 파이프 라인 단계 이름 : 집계에서 $ divide 및 $ expr 사용시 '$ expr'

분류에서Dev

SELECT에 집계 함수 결과 포함

분류에서Dev

하나의 Select 문에서 개수 함수 및 개수 합계 비율 사용

분류에서Dev

여러 요인 (문자) 변수를 사용하여 데이터 프레임에서 집계 (소계)

분류에서Dev

eloquent select 문에서 SQL 함수 사용

분류에서Dev

C ++에서 인라인 함수를 사용한 상호 포함

분류에서Dev

with 문에서 사용할 함수 인수로 함수 사용

분류에서Dev

UNION ALL 결과 집합에서 집계 함수 사용

분류에서Dev

집계 함수를 사용한 SQL 조인

분류에서Dev

R 유사 인용 내장 함수 집계

분류에서Dev

C에서 인라인 함수 이름과 함께 일반 함수 사용

분류에서Dev

SQL 쿼리에서 인라인 함수 및 CTE 사용

분류에서Dev

R sapply () 함수에서 인라인 HTML 사용

분류에서Dev

C ++ 코드에서 사용되는 C 인라인 함수

분류에서Dev

집계 SQL SELECT 문에서 반복적 인 CASE WHEN

분류에서Dev

Mysql 두 값 사이에 집계 함수 합계 사용

분류에서Dev

파이프 라인을 사용한 Elasticsearch 5.0 배치 문서 수집

분류에서Dev

Meteorjs 서버 측 함수에서 MongoDB 집계 쿼리 사용

분류에서Dev

mongoDB 집계를 사용하여 객체 배열을 반복하여 조건 확인 후 문서 수 계산

분류에서Dev

하위 집합 함수에서 select = -c ()를 사용하면 오류가 발생합니다. 단항 연산자에 대한 잘못된 인수

분류에서Dev

Mongodb에서 집계, 조회 및 파이프 라인을 사용한 쿼리

분류에서Dev

SSH 키 기반 인증은 사용자 계정에 따라 달라 집니까?

분류에서Dev

집계 함수를 사용할 때 CASE가있는 SELECT가 실패 함

분류에서Dev

스파크에서 GROUPBY와 집계 함수 카운트 사용

분류에서Dev

스파크에서 GROUPBY와 집계 함수 카운트 사용

분류에서Dev

redshift에서 창 함수를 사용하여 조건부 집계

분류에서Dev

PostgreSQL 연습 : GROUP BY 절 또는 집계 함수에서 사용

분류에서Dev

LINQ에서 집계 함수를 어떻게 사용합니까?

분류에서Dev

Apache Derby에서 사용자 정의 집계 함수 만들기

Related 관련 기사

  1. 1

    MongoError : 인식 할 수없는 파이프 라인 단계 이름 : 집계에서 $ divide 및 $ expr 사용시 '$ expr'

  2. 2

    SELECT에 집계 함수 결과 포함

  3. 3

    하나의 Select 문에서 개수 함수 및 개수 합계 비율 사용

  4. 4

    여러 요인 (문자) 변수를 사용하여 데이터 프레임에서 집계 (소계)

  5. 5

    eloquent select 문에서 SQL 함수 사용

  6. 6

    C ++에서 인라인 함수를 사용한 상호 포함

  7. 7

    with 문에서 사용할 함수 인수로 함수 사용

  8. 8

    UNION ALL 결과 집합에서 집계 함수 사용

  9. 9

    집계 함수를 사용한 SQL 조인

  10. 10

    R 유사 인용 내장 함수 집계

  11. 11

    C에서 인라인 함수 이름과 함께 일반 함수 사용

  12. 12

    SQL 쿼리에서 인라인 함수 및 CTE 사용

  13. 13

    R sapply () 함수에서 인라인 HTML 사용

  14. 14

    C ++ 코드에서 사용되는 C 인라인 함수

  15. 15

    집계 SQL SELECT 문에서 반복적 인 CASE WHEN

  16. 16

    Mysql 두 값 사이에 집계 함수 합계 사용

  17. 17

    파이프 라인을 사용한 Elasticsearch 5.0 배치 문서 수집

  18. 18

    Meteorjs 서버 측 함수에서 MongoDB 집계 쿼리 사용

  19. 19

    mongoDB 집계를 사용하여 객체 배열을 반복하여 조건 확인 후 문서 수 계산

  20. 20

    하위 집합 함수에서 select = -c ()를 사용하면 오류가 발생합니다. 단항 연산자에 대한 잘못된 인수

  21. 21

    Mongodb에서 집계, 조회 및 파이프 라인을 사용한 쿼리

  22. 22

    SSH 키 기반 인증은 사용자 계정에 따라 달라 집니까?

  23. 23

    집계 함수를 사용할 때 CASE가있는 SELECT가 실패 함

  24. 24

    스파크에서 GROUPBY와 집계 함수 카운트 사용

  25. 25

    스파크에서 GROUPBY와 집계 함수 카운트 사용

  26. 26

    redshift에서 창 함수를 사용하여 조건부 집계

  27. 27

    PostgreSQL 연습 : GROUP BY 절 또는 집계 함수에서 사용

  28. 28

    LINQ에서 집계 함수를 어떻게 사용합니까?

  29. 29

    Apache Derby에서 사용자 정의 집계 함수 만들기

뜨겁다태그

보관