>

이 표에서 가능하다는 것을 알고 싶습니다

ID   Price    ServiceID
1    50       11
1    -10      12
2    100      11
2    20       11

ID로 그룹화하려면 가격을 합산하고 serviceID를 다음과 같이 연결하십시오.

ID   Price    ServiceID
1    40       11,12
2    120      11

ID를 기준으로 그룹화하고 가격을 합치는 것이 다소 쉽지만 서비스 ID를 연결하면 문제가됩니다.

참여해 주셔서 감사합니다.


  • 답변 # 1

    사용 :

    select t.id, sum(t.price)
        , stuff((
            select distinct ',' + cast(t2.ServiceID as varchar(max))
            from @t t2
            where t2.id = t.id
            for xml path('')
        ), 1, 1, '')
    from @t t
    group by t.id
    
    

    출력 :

    ----------- --------------------- ---------------------
    1           40,00                 11,12
    2           120,00                11
    
    

  • 이전 c - printf가 화면에 인쇄되지 않습니다
  • 다음 javascript - 클로저에서 지역 변수는 어떻게 참조됩니까?