저는 SQL Server 2008을 사용하고 있습니다. 고객을 대상으로 판매 한 결과를 고객이 작년에 구입 한 것과 비교하고 증가율을 계산하고 싶습니다. 모두 정상적으로 작동하지만 고객이 한 달 동안 부정적인 결과를 보게되면 목표 값 & 성장에 대한 잘못된 데이터가 다시 나타납니다.음수 및 음수 합계
Customer SalesLastYearMonth SalesThisYearMonth Target Growth
------------------------------------------------------------------------------
abcd -1 15 ???? ???
코드 : 당신은 TARGET은 = 16, 성장 = 16, 다음이 그것을해야 할 가정
SELECT
Customer,
CASE
WHEN SalesThisYearMonth IS NULL THEN (SalesLastYearMonth * -1)
WHEN SalesLastYearMonth IS NULL THEN SalesThisYearMonth
ELSE SalesThisYearMonth - SalesLastYearMonth END as Target,
CASE
WHEN SalesThisYearMonth IS NULL THEN -1
WHEN SalesLastYearMonth IS NULL THEN 1
WHEN SalesThisYearMonth = 0 then -1
WHEN SalesLastYearMonth = 0 then 1
ELSE (SalesThisYearMonth - SalesLastYearMonth)/SalesLastYearMonth END AS Growth
오류 및 예기치 않은 결과의 예를 들려 줄 수 있습니까? –
@abatishchev 좋은 편집에 감사드립니다! – Wilest
@Ivan G 다음과 같이 나타납니다. 대상 : 16.000, 성장 : -16.000000 – Wilest