• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

sum에 if문을 사용할 수 있나요?

22.04.12 19:04 작성 조회수 254

0

안녕하세요 강의를 들으면서, querydsl을 적용하여 프로젝트를 만들고 있습니다.

현재 만드는 프로젝트에서
a, b 케이스의 카운트와 a케이스만의 카운트, b케이스만의 카운트
a, b 케이스의 총합과 a케이스만의 총합, b케이스만의 총합을 구하려고 합니다.
 
카운트의 경우, eq()로 조건을 걸어서 원하는 값으로 추출이 가능한 것 같은데
총합의 경우, 전체 총합의 경우 외에 if문같은 조건을 구하는 방법을 구글링해보아도 확인할 수 없어서 질문드립니다.
 
 
ueryFactory.select(income.count().as("totalCase"),
income.isAcupuncture.eq(true).count().as("acupunctureCase"),
income.isAcupuncture.eq(false).count().as("medicineCase"),
income.amount.sum().as("totalAmount"),
 
select count(case when is_acupuncture = 1 then 0 end) as acupunctureCase,
sum(if(is_acupuncture = 0, amount, 0)) as medicineAmount,  <<<<<<<<
sum(amount) as totalAmount
from income
where income.patient_id = 4;
 
querydsl에서도 sum 문법에 if문으로 처리하는 방법이 있을까요?
 

답변 1

답변을 작성해보세요.

3

안녕하세요. 최희윤님

이 부분은 저도 잘 모르겠습니다. 혹시 아시는 분 있으면 답변 부탁드려요.

감사합니다.