각 PLN #마다 패키지 크기에 따라 지구별 단위를 합산하기 때문에 SQL 문의 IF ELSE 문을 사용하려고합니다. 내가 할 수 있을까?Oracle SQL에서 IF 문 사용
SELECT district_nbr,PLN_NBR, SUM(A.LO_IOH_UNITS) AS TOTAL_UNITS, SUM (A.LO_IOH_EXT_COST_DLRS) AS TOTAL_DOLLARS
FROM FCT_LOIOH_DAY_STR_PLN A, DIM_PROD_PLN B, DIM_LOCATION C
WHERE B.PLN_NBR IN(40000683181, 40000418723, 40000335776)
AND A.PROD_ID = B.PROD_ID
AND A.LOC_ID = C.LOC_ID
if PLN_NBR = '40000683181' then SUM(A.LO_IOH_UNITS)/25
else SUM(A.LO_IOH_UNITS)/60
GROUP BY district_nbr,PLN_NBR
SQL에서 'IF'문은 PL/SQL에서만 사용할 수 없습니다. SQL에서 CASE 문을 사용할 수 있습니다. 하지만'IF' 문이 WHERE 절에서 무엇을하려고하는지 알 수 없습니다. 그 합계를 무언가와 비교하고 싶습니까? 그들을 '선택'하시겠습니까? 다른 것? –
고마워, 나는 그걸 몰랐다. 나는 아무것도 비교하려고하지 않는다. 나는 어떤 PLN # = 40000683181에 25 단위로 나누는 단위의 합계를 갖기를 원한다. 다른 PLN #은 후자와 같지 않은 단위의 합계를 60으로 나눈 값이어야한다. 나는이 경우를 할 수 있을까? 그렇다면 어떻게? – SQUISH
그래서이 계산을'SELECT'리스트에 넣으시겠습니까? WHERE 절에 있지 않습니까? –