2017-01-25 4 views
0

select SQL 쿼리에서 임시 총 값 필드를 채우려하고 있지만이 임시 필드는 두 개의 값으로 계산됩니다. 특정 조건이 다음 충족되면 다음 다른 수학이 적용됩니다하지 않을 경우 특정 수학, 적용되어야 등SQL Select 문 IF 문을 사용하고 조건에 수학 적용

예 : 거의 있었다

SELECT Price, Quantity, Type, 
CASE WHEN Type = 'Fixed' THEN ((Price * Quantity)/100) 
WHEN Type = 'Option' THEN ((Price * Quantity)*100) 
ELSE (Price * Quantity) 
END AS Value 
FROM Holding..Position 
+0

마이크로 소프트 SQL 서버 2014 관리 Studio –

+1

그리고 쿼리의 문제인가? –

+0

@ GordonLinoff 그는 자신의 끈을 인용하지 않은 것 같습니다. – SqlZim

답변

2

...

SELECT Price 
    , Quantity 
    , [Type] 
    , CASE WHEN [Type] = 'Fixed' THEN ((Price * Quantity) * 1.00 /100) 
      WHEN [Type] = 'Option' THEN ((Price * Quantity) * 1.00 * 100) 
      ELSE (Price * Quantity) * 1.00 
     END AS Value 
FROM Holding..Position 

번 대답으로 1.00 귀하의 답변에 소수점을 얻을 수 있는지 확인하십시오.

0

검색어가 정상적으로 보입니다. 당신이 테이블에 열을 추가하려면, 당신은 계산 열을 사용할 수 있습니다

alter table holding..Position 
    add Value as (CASE WHEN [Type] = 'Fixed' THEN (Price * Quantity)/100 
         WHEN [Type] = 'Option' THEN (Price * Quantity)*100 
         ELSE (Price * Quantity) 
        END);